DIKTAT ARSITEKTUR DAN ORGANISASI KOMPUTER Di Susun Oleh: Yulianingsih Darwin Isasar Panjaitan Dewi Anjani UNIVERSITAS INDRAPRASTA PGRI JAKARTA 2013 DAFTAR ISI BAB 1. PENGANTAR ORGANISASI KOMPUTER 1. Definisi Komputer 1 2. Struktur dan Fungsi Utama Komputer 2 3. Evolusi dan Kinerja Komputer 3 BAB 2. SISTEM BUS 1. Definisi dan Fungsi Bus 10 2. Struktur Interkoneksi 11 3. Prinsip Operasi Pada Sistem Bus 12 BAB 3. MEMORI 1. Definisi dan Fungsi Memori 16 2. Memori Utama Semikonduktor 17 3. Koreksi Kesalahan 21 4. Memori Virtual 24 BAB 4. MEMORI CACHE 1. Definisi dan Fungsi 26 2. Metode Pemetaan 27 3. Algoritma Penggantian 31 BAB 5. MEMORI EKSTERNAL 1. Magnetic Disc 33 2. Optic Disc 36 i 3. Blu-Ray Disc 38 4. Magnetic Tape 38 BAB 6. STORAGE ARRAY 1. RAID (Redundancy Array of Independent Disk) 40 2. Storage Area Network (SAN) 43 BAB 7. DUKUNGAN SISTEM OPERASI 1. Tujuan dan Fungsi Sistem Operasi 45 2. Penjadwalan 46 3. Manajemen Memori 47 BAB 8. UNIT MASUKAN DAN KELUARAN 1. Definisi dan Fungsi 51 2. Sistem Masukan dan Keluaran 51 3. Teknik Masukan dan Keluaran 52 BAB 9. SET INSTRUKSI 1. Elemen-elemen Instruksi 54 2. Format-format Instruksi 55 BAB 10. MODE PENGALAMATAN 1. Definisi dan Fungsi 59 2. Teknik Pengalamatan 59 BAB 11. STRUKTUR CPU DAN FUNGSI 1. Komponen Utama CPU 66 2. Siklus pada CPU 67 3. RISC dan CISC 72 BAB 12. CONTROL UNIT 1. Fungsi dan Operasi Control Unit 75 2. Microoperation 75 3. Input dan Output pada Unit Control 77 BAB 13. KOMPUTASI PARALLEL 1. Klasifikasi Multiprosesor 79 2. Komputasi Paralel 81 3. Klasifikasi Komputer Parallel 82 4. Analisa Algoritma Parallel 86 DAFTAR PUSTAKA 90 BAB 1. PENGANTAR ORGANISASI KOMPUTER 1. Definisi Komputer Komputer adalah sebuah mesin hitung elektronik yang menerima informasi sebagai masukan digital dan mengolah informasi tersebut berdasarkan instruksi yang tersimpan dalam komputer sehingga menghasilkan keluaran informasi. Penggambaran secara sederhana komputer terdiri dari lima bagian utama masukan, keluaran ,memori , ALU dan kontrol yang mempunyai fungsi sendiri-sendiri: Masukan Aritmatika dan Memori Keluaran Kontrol Gambar 1.1. Unit Fungsional dasar pada komputer Unit masukan menerima input yang dijadikan sebagai informasi untuk disimpan didalam memori selanjutnya informasi dioleh pada unit ALU berdasarkan instruksi yang didapat pada memori. Hasil-hasil yang diperoleh dikeluarkan melalui unit keluaran. Sementara seluruh proses diawasi oleh unit kontrol. Organisasi Komputer Organisasi komputer merupakan bagian yang berhubungan dengan unit-unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturnya. Contoh: perangkat antar muka, teknologi memori, sinyal kontrol dan lain sebagainya. Arsitektur dan Organisasi Komputer - universitas Indraprasta 1 Arsitektur Komputer Arsitektur berhubungan dengan atribut-atribut sistem komputer yang terkait dengan seorang programmer. Contoh: set instruksi, teknik pengalamatan dan lain sebagainya. 2. Struktur dan Fungsi Utama Komputer Struktur Utama Komputer Central Processing Unit (CPU): pengontrol operasi komputer dan pusat pengolahan fungsi – fungsi komputer. CPU umumnya disebut sebagai prosesor. Memori Utama: sebagai penyimpan data. I/O: memindahkan data ke lingkungan luar atau perangkat lainnya. System Interconnection: sistem yang menghubungkan CPU, memori utama dan I/O. Gambar 1.2. Struktur Dasar Komputer Dari keempat komponen tersebut CPU merupakan komponen yang paling kompleks. Struktur CPU: Control Unit: mengontrol operasi CPU dan mengontrol komputer secara keseluruhan. Arithmetic And Logic Unit (ALU): membentuk fungsi – fungsi pengolahan data komputer. Register: penyimpan internal bagi CPU. CPU Interconnection: menghubungkan seluruh bagian dari CPU. Arsitektur dan Organisasi Komputer - universitas Indraprasta 2 Fungsi Komputer Fungsi operasi dasar sistem komputer: Fungsi Operasi Pengolahan Data Fungsi Operasi Penyimpanan Data Fungsi Operasi Pemindahan Data Fungsi Operasi Kontrol Gambar 1.3. Operasi-Operasi Komputer Gambar a. mengilustrasikan komputer sebagai fungsi operasi pemindahan data. Gambar b operasi penyimpanan data sementara c dan d fungsi komputer sebagai fungsi operasi pengolahan data. Arsitektur dan Organisasi Komputer - universitas Indraprasta 3 3. Evolusi dan Kinerja Komputer Sejarah Singkat Komputer Generasi Pertama: Tabung Vakum (1945-1955) ENIAC (Electronic Numerical Integrator And Computer), pada tahun 1946 dirancang dan dibuat oleh John Mauchly dan John Presper Eckert di Universitas Pennsylvania merupakan komputer digital elektronik untuk kebutuhan umum pertama di dunia. ENIAC dibuat di bawah lembaga Army’s Ballistics Research Laboratory (BRL). Sebuah badan yang bertanggung jawab dalam pembuatan jarak dan tabel lintasan peluru kendali senjata baru. ENIAC mempunyai berat 30 ton, bervolume 15.000 kaki persegi, dan berisi lebih dari 18.000 tabung vakum. Daya listrik yang dibutuhkan sebesar 140 KW. Kecepatan operasi mencapai 5.000 operasi penambahan perdetik. ENIAC masih merupakan mesin desimal, representasi data bilangan dan arimetiknya dibuat dalam bentuk desimal. Memorinya terdiri atas 20 akumulator, yang masing-masing akumulatornya mampu menampung 10 digit desimal. Setiap digit direpresentasikan oleh cincin yang terdiri atas 10 buah tabung vakum. Kekurangan utama mesin ini adalah masih manual pemrogramannya, yaitu dengan menyetel switch – switch, memasang dan menanggalkan kabel – kabelnya. ENIAC selesai pada tahun 1946. John Van Neumann seorang ahli matematika yang merupakan konsultan pembuatan ENIAC pada tahun 1945 mencoba memperbaiki kelemahan ENIAC dengan rancangan komputer barunya,bernama EDVAC (Electronic Discrete Variable Computer) dengan konsep program tersimpan ( stored-program concept ). Tahun 1946 komputer dengan stored-program concept dipublikasikasikan, yang kemudian di kenal dengan Komputer IAS (Computer of Institute for Advanced Studies). Struktur komputer IAS terdiri dari : Memori Utama, untuk menyimpan data maupun instruksi. Arsitektur dan Organisasi Komputer - universitas Indraprasta 4 Arithmetic Logic Unit (ALU), untuk mengolah data binner. Control Unit, untuk melakukan interpretasi instruksi – instruksi di dalam memori sehingga adanya eksekusi instruksi tersebut. I/O, untuk berinteraksi dengan lingkungan luar. Gambar 1.4. Struktur Komputer IAS Memori IAS terdiri atas 1.000 lokasi penyimpanan yang disebut word. Word terdiri atas 40 binary digit (bit). Data maupun instruksi disimpan dalam memori ini, sehingga data maupun instruksi harus dikodekan dalam bentuk biner. Setiap bilangan terdiri atas sebuah bit tanda dan 39 bit nilai. Sebuah word terdiri atas 20 bit instruksi dengan masing-masing 8 bit kode operasi (op code) dan 12 bit alamat. Instruksi Kiri Instruksi Kanan Op Code 0 Alamat 7 8 Op Code 19 20 Alamat 27 28 39 Gambar 1.5. Format Memori IAS Arsitektur dan Organisasi Komputer - universitas Indraprasta 5 Unit kontrol maupun ALU berisi lokasi- lokasi penyimpanan yang disebut register yang terdiri dari beberapa jenis yaitu: Memory Buffer Register (MBR): berisi sebuah word yang akan disimpan di dalam memori atau digunakan untuk menerima word dari memori. Memory Address Register (MAR): untuk menentukan alamat word di memori untuk dituliskan dari MBR atau dibaca oleh MBR. Instruction Register (IR): berisi instruksi 8 bit kode operasi yang akan dieksekusi. Instruction Buffer Register (IBR): digunakan untuk penyimpanan sementara instruksi sebelah kanan word di dalam memori. Program Counter (PC): berisi alamat pasangan instruksi berikutnya yang akan diambil dari memori. Accumulator (AC) dan Multiplier Quotient (MQ): digunakan untuk penyimpanan sementara operand dan hasil ALU. IAS beroperasi secara berulang membentuk siklus instruksi. Komputer IAS memiliki 21 instruksi, yang dapat dikelompokkan seperti berikut ini : Data transfer: memindahkan data di antara memori dengan register – register ALU atau antara dua register ALU sendiri. Unconditional branch: perintah – perintah eksekusi percabangan tanpa syarat tertentu Conditional branch: perintah – perintah eksekusi percabangan yang memerlukan syarat tertentu agar dihasilkan suatu nilai percabangan. Arithmetic: kumpulan operasi yang dibentuk oleh ALU. Address Modify: instruksi yang memungkinkan pengubahan alamat saat dikomputasi memungkinkan fleksibilitas alamat yang tinggi pada program. Kelebihan komputer IAS: Mesin alamat tunggal Panjang instruksinya pendek sehingga menghasilkan program yang kecil. Pengambilan instruksi dilakukan dua sekaligus sehingga mempercepat waktu siklus instruksi. Arsitektur dan Organisasi Komputer - universitas Indraprasta 6 Address modify menghasilkan perubahan field alamat instruksi yang lain dalam memori. Kekurangan komputer IAS: Lemah dalam pelaksanaan operasi I/O. Tidak mempunyai tipe instruksi “call” dan “return” Gambar 1.6. Struktur Detail Komputer IAS Arsitektur dan Organisasi Komputer - universitas Indraprasta 7 Komputer Komersial Tahun 1950 dianggap sebagai industri komersial dengan berdirinya dua perusahaan yaitu Sperry dan IBM. Tahun 1947 Eckkert dan Mauchly mendirikan Eckert-Mauchly Computer Operation untuk memproduksi komputer secara komersial. UNIVAC I (Universal Automatic Computer) merupakan komputer pertama yang mereka hasilkan. Generasi kedua: transistor (1955-1965) Pada era ini tidak lagi menggunakan tabung vakum melainkan transistor. Daya dan bentuknya relative kecil. Transistor ditemukan tahun 1947 di Bell Labs. Dengan adanya transistor nikerja hardware komputer makin cepat prosesnya. Memori makin besar kapasitasnya namun makin kecil bentuknya. ALU menjadi lebih komplek ,lahirnya bahasa tingkat tinggi dan software sistem operasi. Pada generasi ini munculnya Digital Equipment Corporation dengan komputer pertamanya PDP 1. Generasi Ketiga: Integrated Circuit (1965-1980) Ditemukannya Integrated Circuits (IC) yang terbuat dari silicon oleh Robert Noyce pada tahun 1958 yang merupakan konsep penggabungan komponen elektronika dalam satu paket. Generasi Keempat: Very Large Scale Integration Diawali dengan peluncuran mikroprosesor Intel seri 4004 yang merupakan tonggak awal perkembangan mikroprosesor selanjutnya. Perancangan Kinerja Perkembangan mikroprosesor sulit diimbangi oleh komponen lainnya semisal memori. Sehingga menyebabkan berkurangnya sinkronisasi operasi antar komponen. Arsitektur dan Organisasi Komputer - universitas Indraprasta 8 Gambar grafik perbandingan perkembangan kecepatan mikroprosesor dan memori. Metode yang digunakan untuk mengatasi perbedaan kecepatan operasi antara mikroprosesor dengan komponen lainnya: Meningkatkan jumlah bit yang dicari pada suatu saat tertentu dengan melebarkan DRAM dan lintasan sistem bus. Mengubah antarmuka DRAM sehingga lebih efisien dengan teknik cache atau pola buffer lainnya pada keeping DRAM. Meningkatkan bandwidth interkoneksi prosesor dan memori dengan menggunakan hirarki bus-bus yang lebih cepat dan membuat struktur aliran data. Evolusi komputer Pentium dan power PC Teknologi Pentium menggunakan rancangan CISC (Complex Instruction Set Computers) dalam arsitekturnya. Sedangkan PowerPC menerapkan teknologi RISC (Reduced Instruction Set Computers) yang akan dibahas pada bagian-bagian selanjutnya. Arsitektur dan Organisasi Komputer - universitas Indraprasta 9 BAB 2. SISTEM BUS 1. Definisi dan Fungsi Bus Sistem bus merupakan penghubung bagi keseluruhan komponen komputer dalam menjalani tugasnya. Secara fisik bus adalah konduktor listrik paralel pada motherboard yang menghubungkan modul-modul. Jalur bus pada modul-modul I/O dibuat menjadi slot-slot yang mudah dilepas pasang. Sedangkan jalur bus pada chips akan terhubung melalui pinnya. 2. Struktur Interkoneksi Kumpulan lintasan atau saluran berbagai modul disebut struktur interkoneksi. Rancangan struktur interkoneksi bergantung pada jenis dan karakteristik pertukaran datanya. Gambar 2.1. Modul-modul Komputer Arsitektur dan Organisasi Komputer - universitas Indraprasta 10 Dari jenis pertukaran data yang diperlukan struktur interkoneksi harus mendukung perpindahan data berikut: Memori ke CPU: CPU melakukan pembacaan data maupun instruksi dari memori. CPU ke Memori: CPU melakukan penyimpanan atau penulisan data ke memori. I/O ke CPU: CPU membaca data dari peripheral melalui modul I/O CPU ke I/O: CPU mengirimkan data ke perangkat peripheral melalui modul I/O I/O ke Memori atau dari Memori:digunakan pada sistem DMA. Interkoneksi Bus Merupakan media transmisi yang dapat digunakan bersama namun dalam satu waktu hanya ada sebuah perangkat yang dapat menggunakan bus. Struktur Bus Sebuah bus terdiri atas beberapa saluran. Secara umum fungis saluran bus dikategorikan dalam tiga bagian yaitu: saluran data, alamat dan kontrol. Gambar 2.2. Pola Interkoneksi bus Data bus adalah lintasan bagi perpindahan data antar modul. Umumnya jumlah saluran atau lebar bus berhubungan dengan panjang word. Address bus digunakan untuk menspesifikasikan sumber dan tujuan data pada data bus dan saluran alamat perangkat modul komputer saat CPU mengakses suatu modul. Control bus digunakan untuk mengontrol bus data, alamat dan seluruh modul yang ada. Arsitektur dan Organisasi Komputer - universitas Indraprasta 11 Sinyal kontrol terdiri atas: Sinyal pewaktuan: digunakan untuk menandakan validitas data dan alamat Sinyal perintah: membentuk suatu operasi. Secara umum saluran kontrol meliputi: Memory write: memerintahkan data pada bus akan dituliskn ke dalam lokasi alamat. Memory read: memerintahkan data dari lokasi alamat ditempatkan pada bus data. I/O write: memerintahkan data pada bus dikirm ke lokasi port I/O I/O read: memerintahkan data dari port I/O ditempatkan pada bus data. Transfer ACK: menunjukan data telah diterima dari bus atau data telah ditempatkan pada bus. Bus request: menunjukan bahwa modul memerlukan kontrol bus Bus grant: menunjukan modul yang melakukan request telah diberi hak mengontrol bus. Interrupt request: menandakan adanya penangguhan interupsi dari modul. Interrupt ACK: menunjukan penangguhan interupsi telah diketahui CPU. Clock: kontrol untuk sinkronisasi antar modul. Reset: digunakan untuk melalukan inisialisasi seluruh modul. 3. Prinsip Operasi Pada Sistem Bus Dikarenakan bus merupakan jalur yang menghubungkan antar perangkat didalam sistem komputer maka setiap operasi akan menggunakan jalur ini dua kegiatan operasi pada jalur bus: Operasi pengiriman data ke modul lainnya: Meminta penggunaan bus Apabila telah disetujui modul akan memidahkan data yang diinginkan ke modul yang dituju. Operasi meminta data dari modul lainnya: Meminta penggunaan bus Mengirim request ke modul yang dituju melalui saluran kontrol dan alamat yang sesuai. Menunggu modul yang dituju mengirimkan data yang diinginkan. Arsitektur dan Organisasi Komputer - universitas Indraprasta 12 Hirarki Multiple Bus Terlalu banyaknya modul atau perangkat yang terhubung dengan bus maka kinerja sistem menjadi menurun yang disebabkan antara lain: Semakin besar delay propgansi untuk mengkoordinasikan penggunaan bus. Antrian penggunaan bus semakin panjang. Habisnya kapasitas transfer bus sehingga memperlambat data. Untuk mengantisipasi dapat dilakukan dengan penggunaan bus jamak yang heirarkis yang terdiri atas bus lokal, bus sistem dan bus ekspansi. Gambar 2.3. Arsitektur Bus Jamak Tradisional Gambar 2.4. Arsitektur Bus Jamak Kinerja Tinggi Arsitektur dan Organisasi Komputer - universitas Indraprasta 13 Prosesor, cache dan memori utama terletak pada bus level tinggi karena memiliki karakteristik pertukaran data yang tinggi. Modul yang tidak memerlukan transfer data cepat disambungkan pada bus ekspansi. Pada bus jamak kinerja tinggi bus kecepatan tinggi lebih terintegrasi dengan prosesor. perubahan pada arsitektur tidak mempengaruhi kinerja bus. 4. Elemen Rancangan Bus Jenis Bus Dibedakan menjadi dua: Dedicated bus, khusus menyalurkan data tertentu misal data saja atau alamat saja. Multiplexed bus, menyalurkan data yang berbeda baik data, alamat atau sinyal kontrol. Kategori ini memliki keuntungan hanya memerlukan saluran sedikit sehingga menghemat tempat namun kerugiannya adalah kecepatan transfer menurun. Metode Arbitrasi Terdiri dari dua macam metode: Tersentral: diperlukan arbiter sebagai pengontrol penggunaan bus oleh modul Terdistribusi: setiap modul memiliki logika pengontrol akses yang berfungsi mengatur pertukaran data melalui bus. Timing Metode terbagi menjadi dua: Pewaktuan sinkron: terjadinya event pada bus ditentukan oleh sebuah pewaktu. Biasanya satu siklus untuk satu event. Pewaktuan asinkron: memungkinkan kerja modul yang tidak sama kecepatannya. Event yang terjadi tergantung pada event sebelumnya sehingga diperlukan sinyal validasi. Arsitektur dan Organisasi Komputer - universitas Indraprasta 14 Lebar Bus semakin lebar bus maka semakin besar data yang dapat ditransfer sekali waktu dan semakin besar bus alamat semakin banyak range lokasi yang dapat direferensikan. Contoh Bus: Industry Standard Architecture (ISA) Peripheral Component Interconnect (PCI): bus yang tidak tergantung pada prosesor dan berfungsi sebagai bus peripheral. Digunakan untuk sistem I/O berkecepatan tinggi seperti: NIC, video, sound card dan sebagainya, Universal Standard Bus (USB): digunakan untuk peralatan I/O berkecepatan rendah. Keuntungan penggunaan USB pemakai tidak perlu membuak casing untuk memasang peralatan I/O baru dan tidak perlu memasang tombola tau jumper pada PCB atau peralatan. Small Computer System Interface (SCSI): menggunakan interface paralel 8,16 atau 32 saluran data. Merupakan interface untuk drive CD-ROM, audio, hard disk, perangkat eksternal berukuran besar. Arsitektur dan Organisasi Komputer - universitas Indraprasta 15 BAB 3. MEMORI 1. Definisi dan Fungsi Memori Memori berdasarkan lokasi terbagi mejadi tiga yaitu register, memori internal dan memori eksternal. Register merupakan memori yang terletak pada prosesor sementara memori internal dan eksternal berada diluar prosesor, yang membedakan keduanya adalah memori internal (memori utama dan cache) pengaksesan dilakukan langsung oleh prosesor sementara memori eksternal (disk, pita) terakses menggunakan piranti I/O. Memori harus mampu mengikuti kecepatan CPU tujuan agar terjadi sinkronisasi kerja untuk menghindari adanya waktu tunggu. Semakin besar kapasitas semakin besar waktu akses dan semakin kecil harga per bitnya. Metode mengakses unit data meliputi: Akses Squential: memori diorgaisasi mejadi unit-unit yang disebut record. Informasi pengalamatan dipakai untuk memisahkan record dan pencarian lokasi Akses dibuat dalam bentuk urutan linier yang spesifik. Digunakan mekanisme baca/tulis bersama. Contoh : pita magnetik Akses Langsung: terdapat mekanisme baca/tulis bersama. Setiap blok dan record mempunyai alamat unit berdasarkan lokasi fisik. Akses dilakukan langsung pada alamat memori. Contoh: disk Akses Acak: waktu untuk mengakses lokasi yang ditentukan tidak tergantung pada urutan akses sebelumnya dan dilakukan secara langsung.contoh: memori utama Associatif: memungkinkan untuk melakukan perbandingan dari suatu lokasi bit dengan pencocokan secara spesifik suatu word secara simultan. Berdasarkan karakterisitik unjuk kerja, memiliki tiga parameter utama pengukuran unjuk kerja: Waktu akses: waktu yang dibutuhkan untuk baca tulis. Waktu siklus: waktu akses ditambah waktu untuk menghilang pada saluran sinyal. Arsitektur dan Organisasi Komputer - universitas Indraprasta 16 Transfer rate: untuk non random akses hubungan berikut harus terpenuhi: TN = TA + dimana TN = waktu rata-rata untuk baca/tulis N bit TA = waktu akses rata-rata N = jumlah bit R = kecepatan transfer dalam bit perdetik (bps) Satuan memori paling sederhana disebut sebagai bit. Satuan lainnya dikatakan sebagai byte (1 byte = 8 bit) dan kumpulan byte dinyatakan dalam word. Pajang word yang biasa digunakan adalah 8,16 dan 32 bit Tingkatan satuan memori Kilobytes (Kb) 1024 bytes Megabyte (Mb) 1,048,576 bytes Gigabyte (Gb) 1,073,741,824 bytes Terabyte (Tb) 1,099,511,627,776 bytes Tabel 3.1. Tingkatan dan Satuan Memori 2. Memori Utama Semikonduktor Elemen dasar dari memori utama semikonduktor adalah sel memori yang umumnya mempunyai tiga terminal fungsional yang mampu membawa sinyal elektrik dan mempunyai karakter: Memiliki dua keadaan stabil atau semi stabil direpresentasikan dengan 0 dan 1. Mempunyai kemampuan untuk ditulis sedikitnya satu kali untuk menetapkan keadaan. Arsitektur dan Organisasi Komputer - universitas Indraprasta 17 Kemampuan untuk dibaca untuk merasakan keadaan. Memili Data masuk Memili Sel Baca Sel Memili Tulis Gambar 3.1. Operasi Sel Jenis-jenis memori semikonduktor Tipe memori Random Acces Memory (RAM) Kategori Baca - tulis Penghapusan Secara elektrik, tingkatan byte Read only Mekanisme Tulis Volatilitas Secara elektrik Volatile mask memory (ROM) Baca saja Tidak mungkin Programmable ROM (PROM) Erasable PROM Sinar UV, (EPROM) tingkatan keping Secara elektrik Electrically EPROM (EEPROM) Flash Non-volatile Baca saja Secara elektrik, tingkatan byte Secara elektrik, tingkatan blok Arsitektur dan Organisasi Komputer - universitas Indraprasta 18 RAM Random Akses Memori memiliki sifat diakses secara acak melalui logika wired-in-addressing dan volatile. Memori ini digunakan kan sebagai media penyimpan sementara. Teknologi yang digunakan pada RAM ada dua yaitu dinamis dan statis. RAM Dinamis (DRAM) disusun oleh sel yang menyimpan data sebagai muatan listrik pada kapasitor. Sifat dari kapasitor memiliki kecenderungan untuk mengosongkan muatan hal ini menyebabkan DRAM memerlukan muatan listrik secara berkala untuk memelihara penyimpanan. Memori jenis ini berkapasitas besar dikarenakan memiliki lebih banyak sel perunit luas atau lebih padat. Karakteristik tersebut mengakibatkan memori dinamik digunakan pada memori utama. RAM Statis (SRAM) pada memori nilai biner disimpan menggunakan konfigurasi flip-flop yang tradisional dan umumnya memiliki sifat lebih cepat dibanding memori dinamis. Karakteristik tersebut mengakibatkan memori statis digunakan pada memori cache. ROM Read Only Memory memiliki sifat menyimpan data secara permanen tidak dapat diubah dan nonvolatile. Dengan demikian mengakibatkan setiap data yang tersimpan menjadi aman namun tidak memungkinkan untuk melakukan koreksi. Perubahan data dilakukan hanya dengan melakukan penyisipan secara elektrik dengan bantuan alat khusus tanpa menghapus data sebelumnya. Programmable ROM (PROM) merupakan jenis memori dari ROM yang dapat melakukan hal tersebut. Jenis-jenis memori ROM lainnya yang memiliki sifat lebih sering dilakukan pembacaan jika dibandingkan dengan penulisan adalah EPROM, EEPROM dan flash. Perbedaan diantara ketiga memori tersebut dalah pada proses penghapusan data EPROM dilakukan secara tingkatan keping, EEPROM penghapusan dilakukan secara tingkatan byte dan flash penghapusan dilakukan secara blok yang merupakan tingkat menengah diantara EPROM dan EEPROM dipandang dari sisi harga dan kemampuan Arsitektur dan Organisasi Komputer - universitas Indraprasta 19 Pengemasan Keping Penggunaaan pin pada EPROM keping 8 Mbit yang diorgnisasiskan sebagai 1M x 8. Dengan pin 32 (standar) yang mendukung beberapa saluran sinyal antara lain: Alamat word yang sedang diakses. 1M word diperlukan 20 buah pin (A0-A19) Data yang akan dibaca terdiri dari 8 saluran (D0 – D7) Catu daya pada saluran Vcc Grounding pada Vss Chip Enable (CE) digunakan untuk menentukan kevalidan dari pin bila terdapat lebih dari satu keping memori pada bus yang sama, A19. Tegangan program (Vpp) Arsitektur dan Organisasi Komputer - universitas Indraprasta 20 3. Koreksi Kesalahan Kesalahan pada memori semikonduktor dapat dikategorikan kedalam 2 keadaan: 1. Kesalahan berat, merupakan kerusakan sel memori secara permanen dikarenakan cacat pabrikasi atau lainnya yang mengakibatkan memori tidak dapat dibaca/tullis. 2. Kesalahan ringan merupakan kerusakan nondestructive yang dapat mengubah isi data didalam sel memori tanpa merusak sel yang disebabkan adanya gangguan pada pasokan tenaga atau partikel alfa. Jenis kesalahan ini dapat masih dapat dikoreksi dengan dua cara: 2.1. Deteksi kesalahan Deteksi kesalahan dengan cara menambahkan data word (W) dengan suatu kode (K) yang disebut sebagai bit cek paritas, W + K. kesalahan ditemukan dengan memeriksa bit paritas. Richard Hamming (1950) menggunakan diagram Venn untuk melakukan deteksi pada word 4 bit . B B A A 0 0 0 1 1 1 C 1 1 1 1 0 1 C 2 3 4 B 0 A B A 0 0 1 0 1 0 0 1 0 1 C Arsitektur dan Organisasi Komputer - universitas Indraprasta 1 0 1 C 21 Pada word data 4 bit digambarkan dengan diagram Venn 3 lingkaran yang saling berpotongan dan membentuk 7. Kotak pertama berisikan data. Pada kotak kedua parity bit yang kosong diisikan dengan bilangan logika 1 sehingga berjumlah genap. Pada kotak ketiga ditemukan adanya kesalahan penulisan bit pada data dengan melihat bilangan logika 1 yang tidak genap. Koreksi kesalahan 8 bit data: Data Bits Bit Paritas SEC Bit Paritas DEC 8 4 5 16 5 6 32 6 7 64 7 8 128 8 9 512 9 10 8 bit data diperlukan 4 bit tambahan sehingga panjang seluruhnya adalah 12 bit Posisi bit 12 11 10 9 8 7 6 5 4 3 2 1 Nomor 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 D8 D7 D6 D5 D4 D3 D2 C2 C1 posisi Bit data Bit cek C8 D1 C4 Bit cek paritas ditempatkan dengan perumusan 2N dimana N = 0,1,…sedangkan bit data adalah sisanya. Kemudian dengan exclusive-OR dijumlahkan sebagai berikut: Arsitektur dan Organisasi Komputer - universitas Indraprasta 22 C1 = D1 D2 D4 D5 D7 C2 = D1 D3 D4 D6 D7 C4 = D2 D3 D4 D8 C8 = D5 D6 D7 D8 Setiap cek bit beroperasi pada setiap posisi bit data yang nomor posisinya berisi bilangan 1 pada kolomnya. Contoh pada data 00111001 kemudian ganti bit data ke 3 dari 0 menjadi 1 sebagai errornya. Bagaimana untuk mendapatkan data ke 3 sebagai bit yang terdapat error? Jawab: masukan data pada perumusan cek bit paritas C1 = 1 0 1 1 0=1 C2 = 1 0 1 1 0=1 C4 = 0 0 1 0 =1 C8 = 1 1 0 0 =0 Bit 3 mengalami kesalahan sehingga data menjadi 00111101 C1 = 1 0 1 1 0=1 C2 = 1 1 1 1 0=0 C4 = 0 1 1 0 =0 C8 = 1 1 0 0 =0 Apabila bit-bit cek dibandingkan antara yang lama dengan yang baru maka terbentuk syndrom word: Arsitektur dan Organisasi Komputer - universitas Indraprasta 23 C8 C4 C2 C1 0 1 1 1 0 0 0 1 0 1 1 0 = 6 Jika diperhatikan posisi ke-6 adalah data ke-3 Mekanisme koreksi kesalahan akan meningkatkan reabilitas memori namun menambah kompleksitas pengolahan data mengurangi kapasitas memori karena adanya bit parity. 4. Memori Virtual Memori virtual diperlukan pada dua kasus dalam mengeksekusi program-program besar yang mempunyai ukuran melebihi ukuran fisik memori: memori utama prosesor tidak cukup untuk menjalankan program besar ukuran fisik memori utama dibiarkan kecil untuk mengurangi biaya walapun prosesor mempunyai ruang memori logic yang besar. Keuntungan memori virtual: Ukuran program tidak dibatasi oleh ukuran memori fisik. User tidak perlu mengestimasi alokasi memori melainkan didilakukan secar otomatis sesuai permintaan program. Manual folding dieliminasi untuk menjalankn program-program besar. Program dapat diload dalam suatu area memori fisik karena program tidak menggunakan alamat fisik.. Arsitektur dan Organisasi Komputer - universitas Indraprasta 24 Mekanisme Memori Virtual Kapanpun suatu instruksi atau operand harus diakses, prosesor akan mencari didalam memori utama jika tersedia maka proses dilanjutkan jika tidak tersedia maka interupsi dibangkitkan atau yang dikenal dengan page fault untuk meminta sistem operasi melakukan swapping (pertukaran). Swapping merupakan suatu peristiwa dimana pada suatu saat hanya sebagian program yang dikirim dari harddisk ke memori utama. Pada saat diperlukan bagian yang tidak berada pada memori utama dikirim dari harddisk, dan pada saat yang sama bagian dari suatu program yang berada pada memori utama dikeluarkan dan disimpan di harddisk. Dua metode yang umum dalam implementasi memori virtual: Paging: software sistem membagi program menjadi sejumlah page Segmentation: pemrogram menyusun program ke dalam segmen-segmen berbeda dengan ukuran yang berbeda. Arsitektur dan Organisasi Komputer - universitas Indraprasta 25 BAB 4. MEMORI CACHE 1. Definisi dan Fungsi Keberadaan memori cache dimaksudkan untuk mempercepat kerja dari memori utama sehingga mendekati kecepatan prosesor, cache memiliki salinan data dari memori utama. Pada saat CPU membaca sebuah word memori maka terlebih dahulu akan memeriksa keberaan word tersebut didalam cache bila ditemukan akan langsung dikirim ke CPU bila tidak ditemukan maka pencarian akan dilanjutkan ke memori utama. Cache terhubung dengan prosesor melalui saluran data, kontrol dan alamat. Kapasitas kecil, cepat CPU Kapasitas besar, lambat Cache Word Memori utama Block Gambar 4.1. Cache dan Memori Utama Keberadaan cache bisa terletak pada prosesor yang disebut on chip cache atau cache internal/ cache tingkat 1 (L1) dan berada diluar prosesor yang disebut off chip cache atau cache eksternal/cache tingkat 2 (L2) Pada gambar berikut menjelaskan konsep kerja dari prosesor menuju cache dengan kondisi cache hit yaitu suatu keadaan ditemukannya data didalam cache dan cache miss keadaan tidak ditemukannya data didalam memori cache. Pada peristiwa cache hit, buffer alamat dan buffer data akan diabaikan komunikasi terjadi hanya diantara prosesor dan cache. Pada keadaan cache miss alamat akan dimuat pada sistem bus dan data akan dikembalikan dari cache maupun prosesor melalui buffer data. Waktu yang digunakan untuk membawa word data dari memori utama menuju prosesor disebut sebagai miss pinallty. Arsitektur dan Organisasi Komputer - universitas Indraprasta 26 Gambar 4.2. Organisasi Cache Memori Semakin besar ukuran cache maka semakin lambat unjuk kerja dari cache tersebut. Memori cache disusun atas sejumlah baris (disebut juga blok) dengan ukuran setiap baris sama dengan ukuran blok pada memori utama hanya saja memori utama memiliki jumlah blok yang lebih. Untuk itu diperlukan metode pemetaan untuk melakukan pemindahan word data dari keduanya. 2. Metode Pemetaan Pemetaan Langsung, blok memori utama dipetakan ke satu baris khusus dalam memori cache. Setiap saluran pada baris cache akan diberikan alamat dari blok sehingga tidak ada 2 blok memori utama dipetakan pada baris yang sama pada cache. Kelebihan: Metode ini sederhana karena tag dari baris cache hanya satu yang cocok dengan field tag dari memori utama yang diberikan. Kekurangan : Blok memori tertentu dipetakan pada suatu baris cache yang tetap. Jika dua blok yang sering diakses terjadi untuk dipetakan pada baris cache yang sama maka hit ratio pada baris yang sering diakses kecil menyebabkan eksekusi program menjadi lambat. Arsitektur dan Organisasi Komputer - universitas Indraprasta 27 Gambar 4.2. Organisasi Cache Pemetaan Langsung Pemetaan Asosiatif Setiap blok memori utama akan dimuat kesembarang saluran cache berdasarkan tag yang dimiliki memori utama yang diatur oleh kontrol logika cache. Metode ini mengatasi kekurangan pada pemetaan langsung. Kelebihan : Fleksibelitas tinggi. Suatu blok memori dapat dimuatkan pada sembarang baris cache Kekurangan: Merupakan sistem yang mahal. Pengontrol cache menjadi komplek karena pencarian parallel terhadap perpindahan blok pada baris. Arsitektur dan Organisasi Komputer - universitas Indraprasta 28 Gambar 4.3. Organisasi Cache Pemetaan Asosiatif Pemetaan Assosiatif Set Merupakan penggabungan dari dua metode pemetaan langsung dan assosiatif. Jumlah total baris cache dikelompokan ke dalam set yang banyak. Setiap blok memori utama dapat dimuat dalam sembarang saluran cache. Kelebihan: Menyediakan fleksibelitas yang lebih baik. Terdapat pilihan yang banyak dalam pemetaan suatu blok memori. Selama pembacaan dan pencarian terjadi hanya dalam suatu set. Tidak seperti assosiatif pencarian dilakukan pada semua cache. Kekurangan: Biaya lebih mahal daripada pemetaan langsung namun tidak lebih mahal dari pemetaan assosiatif. Arsitektur dan Organisasi Komputer - universitas Indraprasta 29 Gambar 4.4. Organisasi Cache Pemetaan Asosiatif Set Gambar 4.4. Contoh Pemetaan Asosiatif Set Arsitektur dan Organisasi Komputer - universitas Indraprasta 30 Gambar 4.5. Contoh Pemetaan Asosiatif Set 3. Algoritma Penggantian Merupakan metode yang digunakan untuk membuat kosong isi dari memori cache untuk dapat dimuatkan blok data yang baru. Dalam pemetaan langsung tidak diperlukan algoritma penggantian. Tiga metode algoritma penggantian yang akan diuraikan sebagai berikut: Random Choice: memilih baris cache secara acak tanpa suatu acuan. First In First Out (FIFO) : memilih set yang telah berada pada cache dalam waktu yang lama. Least Frequently Used (LFU): mengganti blok data yang mempunyai referensi paling sedikit. Arsitektur dan Organisasi Komputer - universitas Indraprasta 31 Least recently Used (LRU) mengganti blok data terlama yang berada pada cache dan tidak memiliki referensi. Write Policy Sebelum dilakukan penggantian terhadap data yang berada pada memori cache perlu dilakukan cek apakah data pada memori telah sama. Bila data memori utama telah using maka segera digantikan. Dua metode yang digunakan: Write Through Policy Penulisan data yang sama dalam memori utama sekaligus dalam memori cache. Metode ini memperlambat eksekusi dikarenakan setiap saat memerlukan akses ke memori utama. Write Back Policy penulisan hanya pada memori cache saja. Data pada memori cache akan dipindahkan ke memori utama apabila cache ingin melakukan perubahan data. Hal ini akan menimbulkan masalah apabila perangkat I/O mengakses data pada memori utama yang belum update. Pendekatan yang mungkin dilakukan bagi koherensi cache meliputi: Bus Watching with Write Through, cache controller akan melakukan monitoring bus alamat untuk mendeteksi setiap operasi. Apabila ditemukan adanya penulisan pada alamat yang dipakai bersama maka data pada cache akan dianggap tidak valid. Hardware transparency, adanya perangkat keras tambahan yang menjamin semua updating data pada memori utama dan cache. Non Cacheable Memory, hanya bagian memori utama tertentu yang digunakan secara bersama oleh lebih dari satu prosesor. seluruh Akses yang masuk pada bagian memori ini dianggap sebagai cache miss dikarenakan data tidak akan pernah disalin kedalam cache. Arsitektur dan Organisasi Komputer - universitas Indraprasta 32 BAB 5. MEMORI EKSTERNAL 1. Magnetic Disc Disc merupakan penyimpan eksternal pada sistem komputer yang berbahan non magnetik yang dapat dimagnetisasi dan berbentuk lingkaran. Proses baca dan tulis pada disk menggunakan head yaitu kumparan yang dimuati listrik hingga menghasilkan medan magnet. Disk tersusun dari sejumlah ribuan lingkaran yang semakin ketengah semakin rapat yang disebut sebagai track. Setiap track dibatasi oleh gap yang bertujuan untuk menghindari kesalahan baca atau tulis yang disebabkan melesetnya head atau gangguan dari medan magnet. Lebar track sama dengan lebar head. Data yang tersimpan dalam pada track berbentuk blok berukuran tidak lebih besar dari track itu sendiri yang disebut sebagai sector. Gambar 5.1 Penampang Disk Magnetik Untuk melakukan baca atau tulis head harus mengetahui letak awal dan posisi sector maupun track melalui header dari setiap data. Arsitektur dan Organisasi Komputer - universitas Indraprasta 33 Gap 1 Sync Byte Id Track Gap 2 Data Head Sector Gap 3 Gap 1 ID CRC Gap 2 Data Sync Byte Data Gap 3 CRC Gambar 5.2.Format Data pada track Field ID merupakan header data berfungsi untuk menentukan letak sector dan track. Byte SYNCH merupakan pola bit yang menandakan awal field data. Gambar 5.3. Multiple Platter Disk Arsitektur dan Organisasi Komputer - universitas Indraprasta 34 Karakterisitik Magnetik Disk Karakteristik Jenis Keterangan Gerakan Head Fixed head (satu per track) Pada fixed head masing-masing track Movable head (satu per memiliki satu head. Pada movable hanya terdapat satu head permukaan) yang bergerak untuk mencari posisi track Portabilitas Disk Removable disk Nonremovable disk Bersisi tunggal Bersisi ganda Single Piringan tunggal Multiple platter Kontak Gap tetap Gap Removable disk berkapasitas lebih besar dan fleksible Sisi Platter Mekanisme head Pada mekanisme kontak, head bersentuhan dengan permukaan disk. Pada Gap tetap terdapat jarak antara head aerodinamika (Winchester) dengan permukaan semakin padat data semakin dekat dan semakin besar terjadinya kesalahan baca tulis. Seek Time disebut sebagai waktu yang digunakan head untuk menemukan track yang dicari. Rotational latency disebut sebagai waktu berputar yang digunakan sector untuk menemukan headnya apabila track sudah didapatkan. Arsitektur dan Organisasi Komputer - universitas Indraprasta 35 Acces time adalah waktu yang diperlukan disk untuk berada pada posisi siap membaca dan menulis. Disk Drive Floppy disk drive (FDD) Hard disk drive (HDD) Fisik lebih fleksible Fisik lebih kaku Kapasitas lebih kecil Kapasitas lebih besar Waktu akses dan transfer data lebih cepat Waktu akses dan transfer data lebih cepat Floppy disk drive (FDD) Hard disk drive (HDD) lebih lambat lebih cepat Lebih rentan mengalami kerusakan Kerusakan data lebih sedikit Saat baca tulis head menyentuh permukaan Head melayang diatas permukaan pada jarak media dekat yang disebut flying head Mempunyai dua permukaan Mempunyai dua permukaan dengan banyak piringan 2. Optical Disc Compact Disc (CD) Pertama kali ditemukan tahun 1983 dengan kapasitas mencapai 700 MB berbahan dasar aluminium berbungkus plastik atau resin yang dapat memantulkan cahaya. Pembacaan informasi menggunakan sinar laser berdaya rendah dan tidak dapat dihapus dengan baca tulis menggunakan teknik direct acces. CD berisi track berbentuk spiral yang berawal dari pusat menuju sisi luar. Kecepatan rotasi semakin menuju pusat semakin lambat. Arsitektur dan Organisasi Komputer - universitas Indraprasta 36 CD-R (Compact Disk Recordales): berbahan dasar resin polycarbonate. Memiliki sifat tidak dapat dihapus menjadikannya back up data terbaik. CD-RW (Compact Disk Rewritables): penulisan dapat dilakukan berulang berbahan dasar logam perpaduan dari perak, indium, antimo dan tellurium. Digital Versatile Disc (DVD) Dikembangkan tahun 1997 berkapasitas 4,7 GB untuk yang bersisi tunggal dan berkapasitas lebih untuk yang ganda. Penulisan menggunakan sinar laser dibuat dalam format sebuah ROM serta dapat dihapus (DVD-E) dan yang dapat ditulisi sekali (DVD-R). Media berbahan dasar polikarbonat dan menggunakan teknik direct acces. Baca tulis menggunakan teknis direct access. Blu-Ray Disc (BD) Blu-ray Disc (BD) adalah sebuah media penyimpanan cakram optik yang dirancang untuk menggantikan format DVD. Disk plastik 120 mm dan diameter 1,2 mm, ukuran yang sama seperti DVD dan CD. Konvensional (pre-BD-XL) Blu-ray Disc mengandung 25 GB per layer, dengan cakram dual layer (50 GB) menjadi standar industri untuk fitur-panjang cakram video. Disc tiga lapisan (100 GB) dan lapisan quadruple (150 GB) yang tersedia untuk BD-XL ulangpenulis drive. [3] Nama Blu-ray Disc mengacu pada laser biru yang digunakan untuk membaca disk, yang memungkinkan informasi untuk menjadi disimpan dengan kepadatan yang lebih besar daripada yang mungkin dengan laser merah panjang-panjang gelombang yang digunakan untuk DVD. Aplikasi utama dari Blu-ray Disc adalah sebagai media untuk bahan video seperti film. Selain spesifikasi hardware, Blu-ray Disc dikaitkan dengan satu set format multimedia. Umumnya, format ini memungkinkan untuk video dan audio untuk disimpan dengan definisi yang lebih besar dari pada DVD. Format ini dikembangkan oleh Sony dan Blu-ray Disc Association, sebuah kelompok yang mewakili pembuat elektronik konsumen, perangkat keras komputer, dan film. Blu-ray Disc pertama prototipe yang diresmikan pada bulan Oktober 2000, dan pemain prototipe pertama dirilis pada bulan April 2003 di Jepang. Setelah itu, ia terus dikembangkan sampai rilis resmi pada bulan Juni 2006. Arsitektur dan Organisasi Komputer - universitas Indraprasta 37 IDE Disk (Hardisk) Pengalamatan menggunakan LBA (Logical Block Addressing) yaitu metode pengalamatan yang hanya member nomor pada sector-sekto mulai dari 0 hingga 224-1. Metode yang mengharuskan pengontrol menkonversi alamat-alamat LBA menjadi head, sector dan silinder. SCSI Disk (Harddisk) SCSI (Small Computer System Interface) metode pengalamatan sama dengan IDE perbedaan mampu mentranfer data dalam kecepatan tinggi yang menjadikanya standar bagi beberapa prodesen komputer. Selain itu dapat dianggap sebagai sebuah bus yang mampu mengontrol hingga 7 peralatan al: CD, recorder CD, scanner dan sebagainya. Media tersebut dikenali okeh SCSI berdasarkan ID unik yang mereka miliki. 3. Magnetic Tape Berbentuk track-track parallel mempunyai head baca tulis tunggal dan dimana head baca dan tulis dipisahkan. Head harus melewati bagian-bagian pita lain yang ada sebelumnya secara serial. Cocok untuk menyimpan data besar namum tidak untuk pembacaan secara acak. Bit disimpan dalam selebar pita dalam suatu frame dan sepanjang pita dalam bentuk data terkecil yang disebut record. Pengaksesan dilakukan Arsitektur dan Organisasi Komputer - universitas Indraprasta 38 secara sequensial. Apabila head berada lebih atas dari letak record yang diinginkan maka pita harus dimundurkan. Kecepatan putaran pita rendah transfer data menjadi lambat. Track 2 Track 1 Track 0 Tepi bawah pita Arah baca tulis Gambar 5.4 Pita Magnetik Arsitektur dan Organisasi Komputer - universitas Indraprasta 39 BAB 6. STORAGE ARRAY 1. RAID (Redundancy Array of Independent Disk) Redundancy Array of Independent Disk merupakan pengaturan beberapa disk memori dengan sistem akses parallel dan redudansi guna meningkatkan reliabilitas khususnya penyimpanan berbasis data. Konsep ini menggantikan disk berkapasitas besar dengan sejumlah disk-disk berkapasitas kecil dengan mendistribusian data pada disk-disk tersebut. Karakteristik RAID: Sekumpulan disk drive yang dianggap sebagai satu sistem tunggal. Data didistribusikan ke drive fisik array Digunakan untuk menyimpan informasi paritas, yang menjamin recovery data ketika terjadi masalah. Tingkatan RAID RAID Level 0 Metode drive spinning, block interleave data spinning atau disk stripping digunakan pada level ini yaitu penempatan blok-blok data pada stripe dalam beberapa permukaan disk. Level ini tidak menawarkan fault tolerance karena tidak memiliki redundansi. Kelebihan ketiadaan redundansi adalah kinerja lebih tinggi. Direkomendasikan untuk data yang tidak kritis yang membutuhkan kecepatan baca tulis yang tinggi. Gambar 6.1. RAID 0 (Nonredundant) Arsitektur dan Organisasi Komputer - universitas Indraprasta 40 Raid Level 1 Konsep yang digunakan pada level ini adalah secara mirroring dengan memberikan proteksi kegagalan yang terbaik dimana proses tulis dilakukan pula pada mirror set yang mengakibatkan kinerja lebih lambat dari RAID 0. Namun mengakibatkan proses baca menjadi lebih cepat. Direkomendasikan untuk proses yang memerlukan fault tolerance tinggi seperti kuntansi dan gaji. Harga mahal karena diperlukan jumlah disk dua kali lipat. Gambar 6.2. RAID 1 (Disk Mirroring) Raid Level 2 Menggunakan konsep data stripping. Pada level ini disk terbagi menjadi disk penyimpan data dan disk parity yaitu disk tambahan untuk menyimpan informasi koreksi kesalahan yang dibangkitkan dengan metode kode hamming. Adanya metode koreksi ini mengakibatkan kinerja menjadi lebih lambat. Drive Hamming Drive Data Gambar 6.3. RAID 2 (redundancy melalui kode Hamming Raid Level 3 Konsep yang dibangun sama dengan RAID level 2 yang membedakan pada jumlah penggunaan disk parity yang hanya 1 saja. Level ini dinilai lebih ekonomis. Berguna untuk penyimpanan data dengan blok-blok yang besar. Arsitektur dan Organisasi Komputer - universitas Indraprasta 41 Parity Gambar 6.4. RAID 3, Bit interleave data striping dengan parity Raid Level 4 Konsep yang diterapkan sama dengan level 0 hanya saja menggunakan 1 buah disk sebagai parity. Tidak direkomendasikan untuk kinerja tinggi. Parity Gambar 6.5. RAID 4, Block Interleave data striping dengan satu parity disk Raid Level 5 Konsep yang digunakan sama dengan level 4 hanya saja penempatan parity disebar pada masingmasing disk. Direkomendasikan untuk file dan server aplikasi, email dan server pemberitaan, server berbasis data dan web dikarenakan memiliki proteksi terbaik untuk harga murah. Gambar 6.6. RAID 5, Block interleave dengan parity terdistribusi Raid Level 6 Kekurangan RAID adalah terjadinya kerusakan fisik secara bersamaan dikarenakan waktu penggunaan. Level ini menjawab kerusakan multidisk pada RAID. Yaitu dengan menggandakan Arsitektur dan Organisasi Komputer - universitas Indraprasta 42 paritas dan meletakan secara menyebar. Dan menempatkan sebuah level proteksi kedua yang menggunakan kode-kode reed Solomon error correction disamping parity. Konsep yang diterapkan sama dengan level 0 hanya saja menggunakan 1 buah disk sebagai parity. Tidak direkomendasikan untuk kinerja tinggi. Gambar 6.7. RAID 5, Block interleave dengan parity terdistribusi 2. Storage Area Network (SAN) Merupakan teknologi media penyimpanan yang terhubung dengan jaringan terpisah dari jaringan utama (LAN/WAN) yang dimiliki oleh suatu organisasi. Secara fisik SAN terdiri dari controller dan storage dengan konsentrator switch. Dengan kata lain SAN merupakan storage berbasis networking yang terhubung dengan network utama Dengan demikian SAN dapat menangani trafik data dalam jumlah besar antara server dan peralatan penyimpan tanpa mengurangi bandwith yang ada pada jaringan utama. Keuntungan penggunaan SAN: Availability: satu salinan data dapat diakses oleh semua host melalui jalur yang berbeda dan semua data lebih efisien dalam pengaturannya. Reliability: infrastruktur yang dapat menjamin tingkat kesalahan yang minimal dan kemampuan dalam mengatasi kegagalan. Scalability: server maupun media penyimpan dapat ditambahkan secara independent. Performance: menggunakan Fiber Channel dengan bandwidth 100MBps dengan overhead (informasi mengenai data tersebut) yang rendah. Trafik back up dan jalur utama LAN/WAN dipisahkan. Arsitektur dan Organisasi Komputer - universitas Indraprasta 43 Manageability: manajemen dilakukan terpusat dan deteksi, koreksi kesalahan yang proaktif. Return on Information Management: bertambahnya tingkat redundansi, kemampuan manajemen dan penambahan server maupun media penyimpan secara independen mengakibatkan biaya kepemilikan menjadi rendah sementara mampu menaikan Return on Information Management (ROIM) jika dibandingkan dengan media penyimpanan tradisional. Gambar 6.8. Storage Area Network Arsitektur dan Organisasi Komputer - universitas Indraprasta 44 BAB 7. DUKUNGAN SISTEM OPERASI 1. Tujuan dan Fungsi Sistem Operasi Merupakan program yang mengontrol eksekusi program aplikasi dan bertindak sebagai antar muka antara brainware dan hardware. Layanan-layanan yang disediakan sistem operasi: Pembuatan program: layanan program utilitas seperti editor dan debugger yang bukan bagian dari sistem operasi tetapi dapat di akses melalui sistem operasi Eksekusi program: Akses ke perangkat I/O: Digunakan untuk menjalankan program dengan bantuan I/O Device, seperti: - Request Device ( pemintaan peralatan) - Release Device ( Mengeluarkan peralatan) - Read (Baca) - Write (Tulis) Akses terkontrol ke file: menyediakan mekanisme perlindungan untuk mengontrol akses ke file-file Akses sistem: mengontrol akses kesistem secara keseluruhan . Pendeteksian Kesalahan dan tanggapan: Untuk pelacakan, mencari kesalahan terdapat terjadi di dalam Prosesor atau Memori Akuntansi Jenis sistem operasi Interaktif: pengguna berinteraksi secara langsung dengan komputer. Batch: program pengguna ditampung secara bersama program pengguna lainnya dan kemudian disampaikan oleh operator komputer. Setelah program diselasaikan hasilnya dicetak bagi pengguna. Arsitektur dan Organisasi Komputer - universitas Indraprasta 45 Multiprogramming: beberapa program disimpan dimemori dalam sekali waktu tertentu untuk kemudian dilakukan proses secara bersama untuk meningkatkan kinerja dari prosesor. Uniprogramming : satu proses yang dilakukan dalam waktu tertentu. 2. Penjadwalan Pada multiprogramming penjadwaln sangat diperlukan sekali guna mengatur seluruh proses yang sedang berlangsung. Jenis-jenis penjadwalan: Penjadwalan jangka pendek: menjadwalkan alokasi pemroses diantara proses-proses ready dalam memory utama Penjadwalan jangka menengah: menangani proses-proses yang tertunda ketika kondisi yang membuat tertunda hilang proses langsung dimasukan ke memori utama dalam status ready untuk diproses Penjadwalan jangka panjang : bertugas pada antrian proses (batch) dan emilih proses berkutnya yang akan dieksekusi. Berprioritas lebih rendah dan digunakan sebagai pengisi agar pemroses selalu dalam keadaan sibuk Program Jangka Menengah Suspende d Blocked Queue Program Jangka Pendek Batch Ready Queue Queue Program Jangka Panjang Programprogram CPU Suspende d Ready Queue Gambar 7.1. Penjadwalan Arsitektur dan Organisasi Komputer - universitas Indraprasta 46 Tujuan Penjadwalan Efisiensi Utilisasi CPU: membuat CPU selalu sibuk Respon time: waktu mulai menjawab sampai selesai Meminimalkan Turn around time, yaitu jumlah waktu eksekusi dan waktu tunggu. Memaksimalkan Throughput, hasil yang dapat diselesaikan dalam satu unit waktu. Ada 2 strategi penjadwalan : 1. Penjadwalan nonpreemptive: Setiap proses diberi sejumlah waktu tertentu oleh prosesor setiap proses tidak dapat diambil alih atau dilakukan sela oleh proses lainnya hingga proses yang sedang berlangsung selesai. FIFO (First In First Out): mengutamakan proses yang terlebih dulu masuk SJF (Shortest Job First) : mengetahui seluruh waktu dari setiap proses untuk mengambil proses dengan waktu terpendek yang terlebih dahulu dilayani. 2. Penjadwalan preemptive : proses dapat diambil alih atau dilakukan sela oleh proses lainnya dan akan dilanjutkan kemudian. RR (Round Robin): semua proses dianggap penting dan diberi sejumlah waktu yang disebut quantum untuk dapat menyelesaikan proses. PS (Priority Schedulling): setiap proses memiliki prioritas dan prosesor mengutaman proses yang memilki prioritas lebih tinggi. Jika semua prioritas sama maka FIFO yang akan digunakan untuk menyelesaikan proses. 3. Manajemen Memori Pada uniprogramming memori utama dibagi menjadi dua satu bagian untuk sistem operasi dan satu bagian untuk program yang sedang dieksekusi. Pada sistem multiprogramming bagian pengguna dari memori dibagi lagi untuk mengakomodasi berbagai proses. Teknik pengaturan memori yang demikian disebut sebagai manajemen memori yang efektif pada multiprogramming Arsitektur dan Organisasi Komputer - universitas Indraprasta 47 Swapping Suatu proses dapat di-swap secara temporary keluar dari memori dan dimasukkan ke backing store, dan dapat dimasukkan kembali ke dalam memori pada eksekusi selanjutnya. Backing store –disk cepat yang cukup besar untuk mengakomodasi copy semua memori image pada semua user; menyediakan akses langsung ke memori image. Roll out, roll in – varian swapping yang digunakan dalam penjadualan prioritas; proses dengan prioritas rendah di-swap out, sehingga proses dengan prioritas tinggi dapat di-load dan dieksekusi. Bagian terbesar dari swap time adalah transfer time, total transfer time secara proporsional dihitung dari jumlah memori yang di swap. Modifikasi swapping dapat ditemukan pada sistem UNIX, Linux dan Windows. Contiguous Allocation Memori utama biasanya terbagi dalam dua bagian: Resident operating system, biasanya tersimpan di alamat memori rendah termasuk interrupt vector . User proces menggunakan memori beralamat tinggi/besar. Single-partition allocation Relokasi register digunakan untuk memproteksi masing-masing user proses dan perubahan kode sistem operasi dan data. Relokasi register terdiri dari alamat fisik bernilai rendah; limit register terdiri dari rentang/range alamat logik, setiap alamat logik harus lebih kecil dari limit register. Paging Membagi memori fisik ke dalam blok (page, frame) dengan ukuran tertentu (fixed) yang seragam. Memudahkan manajemen free memory (hole) yang dapat bervariasi. Arsitektur dan Organisasi Komputer - universitas Indraprasta 48 Tidak perlu menggabungkan hole menjadi blok yang besar seperti pada variable partition (compaction). OS lebih sederhana dalam mengontrol (proteksi dan kebijakan) pemakaian memori untuk satu proses. Standard ukuran blok memori fisik yang dialokasikan (de-alokasi) untuk setiap proses. Ukuranya (tergantung OS): 512 byte s/d 16 KB. Segmentation Skema pengaturan memori yang mendukung user untuk melihat memori tersebut.. Sebuah program merupakan kumpulan dari segment. Sebuah segement berisi unit logik seperti: main program, procedure, function, method, object, local variables, global variables, common block, stack, symbol table, arrays Offset: 16 bits Sistem Operasi ditinjau dari Segi PROSES Sistem Operasi, terdiri dari sekumpulan program untuk suatu resources (memori). Bagaimana hubungan antara program-program baik selama proses berjalan dan kapan program tersebut harus dipergunakan?. Kondisi utama dalam proses Sistem Operasi. 1. RUN Adalah proses yang sudah dipilih oleh prosesor dan program-programnyanya sedang berjalan. Arsitektur dan Organisasi Komputer - universitas Indraprasta 49 2. WAIT Adalah proses yang sedang menunggu yang dikarenakan adanya event/kejadian Misal: suatu operasi Input-Output yang sedang berjalan maka prosesor tidak akan melakukan proses, karena I/O yang sedang beroperasi. 3. READY Adalah proses dalam kondisi yang siap dilaksana kan/ready, akan tetapi jumlah proses lebih banyak dari jumlah prosesor sehingga proses tersebut harus menunggu giliran untuk diproses (Ready to Run) Kondisi lain; 1. SUBMIT Adalah kondisi dimana pemakai/user memasukan suatu JOB kedalam sistem, dan sistem tersebut harus memberikan suatu respon. 2. HOLD Adalah kondisi dimana Job dimasukan telah dikonversikan kedalam bentuk yang “readable” (yang dapat dibaca oleh mesin). Tetapi tidak ada resources yang dialokasikan untuk job tersebut, sehingga untuk ke kondisi berikutnya harus dialokasikan terlebih dahulu. 3. COMPLETE Adalah kondisi dimana prosesor telah menyelesaikan proses komputasi dan semua resource sudah dikembalikan. Arsitektur dan Organisasi Komputer - universitas Indraprasta 50 BAB 8. UNIT MASUKAN DAN KELUARAN 1. Definisi dan Fungsi Unit masukan dan keluaran merupakan bagian komponen utama dari sistem komputer selain dari CPU dan memori. Dalam modul I/O berisikan logika yang mengatur dan menghubungkan antara perangkat erksternal dengan sistem bus sekaligus antara perangkat eksternal lainnya . Beberapa alasan mengapa perangkat eksternal eksternal tidak terhubung secara langsung dengan sistem bus adalah: Banyaknya variasi perangkat eksternal. Perbedaan kecepatan transfer data antara perangkat eksternal dengan CPU maupun memori. Perbedaan format dan panjang data antara perangkat erksternal dengan CPU 2. Sistem Masukan dan Keluaran Komputer Modul I/O Link ke perangkat luar lainnya Sistem BUS Gambar 8.1 Modul I/O Dalam menjalankan tugasnya fungsi modul I/O terbagi menjadi beberapa kategori: 1. Kontrol dan pewaktuan: melakukan pengaturan dan pengawasan supaya terjadinya sinkronisasi antara CPU, memori dan perangkat eksternal. 2. Komunikasi CPU: meliputi proses-proses menerima perintah dari CPU untuk perangkat eksternal, Arsitektur dan Organisasi Komputer - universitas Indraprasta 51 pertukaran data antara CPU dengan perangkat eksternal, pelaporan status modul I/O maupun perangkat eksternal apakah dalam keadaan sibuk,siap atau error. Mengetahui alamat perangkat eksternal yang dikontrolnya. 3. Komunikasi perangkat eksternal: meliputi komunikasi data, kontrol dan status. 4. Melakukan buffer data: bertujuan untuk mendapatkan penyesuaian data sehubungan dengan perbedaan laju transfer. 5. Deteksi kesalahan: bertujuan melaporkan ketiap kali perangkat eksternal mendapati masalah. Misal isi tinta atau kertas habis. 3. Teknik Masukan atau Keluaran Dalam modul I/O terdapat tiga teknik untuk melalukan proses masukan dan keluaran yaitu: I/O terprogram: Data saling dipertukarkan antara CPU dan Modul I/O. Kelemahan: adanya waktu tunggu pada CPU saat I/O merampungkan tugasnya. Setiap instruksi yang diberikan dari CPU kepada modul I/O maupun perangkat eksternal dipastikan disertakan dengan alamat tujuan. Empat klasifikasi perintah I/O: 1. Perintah Kontrol: mengaktivasi perangkat eksternal dan memberitahukan tugas yang harus dikerjakan. 2. Perintah Test: menguji berbagai kondisi status modul 3. Perintah Read: mengambil paket data dari perangkat I/O kemudian menyimpannya dalam buffer internal melalui bus data. 4. Perintah write: perintah dari CPU kepada modul I/O untuk mengambil data dari bus data untuk selanjutnya dberikan ke perangkat eksternal. Arsitektur dan Organisasi Komputer - universitas Indraprasta 52 Interrupt – driven I/O: Tidak adanya waktu tunggu pada CPU. Saat instruksi menjalankan perintah I/O dari modul I/O karena pada saat yang sama CPU melakukan proses lainnya tanpa harus menunggu perintah I/O selesai. Data hasil pembacaan oleh modul I/O dari perangkat I/O akan disimpan di bus data hingga menunggu diminta baca oleh CPU sementara itu modul mengirimkan sinyal interupsi kepada CPU untuk mengirimkan instruksi selanjutnya. Terdapat empat keadaan yang digunakan CPU untuk menjawab interupsi tersebut: 1. Multiple Interrupt Lines: merupakan terknik yang paling sederhana yaitu dengan membangun saluran interupsi yang banyak antara Modul dengan CPU. 2. Software Poll: saat menerima sinyal interupsi dari modul. Selanjutnya CPU akan menuju Interrupt Services Routine tempat terjadinya software poll untuk menentukan modul mana yang melakukan interupsi. Proses penentuan ini mengambil waktu proses dari CPU menjadi lebih lambat. 3. Daisy Chain: seluruh modul I/O terhubung dengan saluran interupsi CPU secara melingkar 4. Arbitrasi Bus: modul I/O akan mendapatkan kendali kontrol bus sebelum melakukan interupsi kepada CPU hal ini mengakibatkan hanya ada satu modul I/O yang melakukan interupsi. DMA (Direct Memory Acces): CPU hanya akan melakukan proses di awal dan akhir saja ketika menanggapi sinyal interupsi yang masuk. Seluruh proses interupsi akan diserahkan kepada DMA dengan cara mengambil alih siklus bus pada jalur bus oleh DMA. Sementara interupsi berlangsung CPU masih dapat melakukan proses lainnya. Arsitektur dan Organisasi Komputer - universitas Indraprasta 53 BAB 9. SET INSTRUKSI Merupakan sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU. 1. Elemen-elemen Instruksi Operation code (Op code) : berisikan perintah yang akan dikerjakan Source Operand reference : letak data yang harus dikerjakan sesuai perintah Result Operand reference : Penyimpan hasil operasi Next Instruction Reference : Perintah selanjutya yang harus diselesaikan Dalam sebuah instruksi, tidak harus semua elemen ini dicantumkan, tergantung kebutuhan dan jenis instruksinya. Semua instruksi dijalankan didalam CPU dan umumnya menggunakan register sebagai tempat membaca/menyimpan operand meskipun tidak selamanya register berisikan operand melainkan menunjuk kepada salah satu media penyimpan lainnya missal: memori, cache, modul I/O. Source and result operand dari suatu operasi dapat berada pada tiga tempat berikut: Memori utama atau memori virtual CPU register Perangkat I/O Representasi Instruksi Pada bahasa mesin, setiap instruksi berbentuk pola bit biner yang unik untuk itu agar dapat dimengerti oleh pengguna maka dibuatlah berbagai instruksi menggunakan singkatan sebagai simbolik yang disebut sebagai mnemonic. Missal: ADD, SUB, MPY, DIV, LOAD, STOR. Operand dapat direpresentasikan dengan menggunakan simbolik missal: ADD A,B Tambahkan nilai yang berada pada B kedalam register A dan simpan hasilnya di register A. seorang programmer diperkenankan menggunakan symbol dan menetapkan lokasi untuk merepresentasikan bahasa mesin dimana setiap opcode symbol direpresentasikan dengan angka biner yang selalu tetap. Arsitektur dan Organisasi Komputer - universitas Indraprasta 54 Jenis-jenis Instruksi 1. Data processing: Aritmetik misal : ADD, SUB dll. Logic missal : AND, OR, NOT, SHR, dll. Konversi data 2. Data storage (memori): Transfer data missal : STOR, LOAD, MOVE, dll. 3. Data movement: Input dan Output ke modulI/O 4. Program flow control: JUMP, HALT, dll. 2. Format-format Instruksi Format Instruksi 3 Alamat Bentuk umum: [OPCODE] [AH], [AO1], [AO2] merupakan suatu instruksi dengan satu alamat hasil dan dua alamat operand. Misal: SUB Y,A,B bentuk algoritmik Y A – B yang mengandung arti kurangkan isi register A dengan isi register B kemudian simpan hasilnya di register Y. Dengan format seperti ini program lebih pendek dan mengoperasikan banyak register sekaligus dan bentuk ini tidak umum digunakan di komputer. Format Instruksi 2 Alamat Bentuk umum: [OPCODE] [AH], [AO] merupakan instruksi dengan satu alamat operand dan satu alamat hasil merangkap salah satu operand lainnya. Misal: SUB Y, B bentuk algoritmik Y Y – B yang mengandung arti kurangkan isi register Y dengan isi register B kemudian simpan hasilnya di register Y. Dengan format instruksi seperti ini panjang program tidak bertambah terlalu banyak tetapi mengoperasikan lebih sedikit register dan bentuk instruksi seperti ini masih digunakan di komputer. Arsitektur dan Organisasi Komputer - universitas Indraprasta 55 Format Instruksi 1 Alamat Bentuk umum: [OPCODE] [AO], merupakan instruksi dengan satu alamat operand dan hasil disimpan di accumulator. Misal: SUB B bentuk algoritmik AC AC – B mengandung arti kurangkan isi Acc dengan isi register B kemudian simpan hasilnya di Acc. Dengan format instruksi seperti ini program menjadi bertambah panjang sementara register yang digunakan hanya satu dan bentuk ini digunakan pada komputer jaman dahulu. Misal: SUB bentuk algoritmik: S[top] S[top-1] – S[top] mengandung arti kurangkan isi stack no.2 dari atas dengan isi stack paling atas kemudian simpan isi hasilnya di stack paling atas. Untuk instruksi PUSH dan POP mempunyai cara kerja yang berbeda. Contoh Format Instruksi 3 Alamat A, B, C, D, E, T, Y adalah register Program: Y = (A – B) / ( C + D × E) SUB Y, A, B bentuk algoritmik Y A – B MPY T, D, E bentuk algoitmik T D × E ADD T, T, C bentuk algoritmik T T + C DIV Y, Y, T bentuk algoritmik Y Y / T Memerlukan 4 operasi Contoh Format Instr 2 Alamat A, B, C, D, E, T, Y adalah register Program: Y = (A – B) / ( C + D × E) MOVE Y, A bentuk algoritmik Y A SUB Y, B bentuk algoritmik Y Y - B MOVE T, D bentuk algoritmik T D MPY T, E bentuk algoritmik T T × E Arsitektur dan Organisasi Komputer - universitas Indraprasta 56 ADD T, C bentuk algoritmik T T + C DIV Y, T bentuk algoritmik Y Y / T Memerlukan 6 operasi Contoh Format Instr 1 Alamat A, B, C, D, E, Y adalah register Program: Y = (A – B) / ( C + D × E) LOAD D bentuk algoritmik AC D MPY E bentuk algoritmik AC AC × E ADD C bentuk algoritmik AC AC + C STOR Y bentuk algoritmik Y AC LOAD A bentuk algoritmik AC A SUB B bentuk algoritmik AC AC – B DIV Y bentuk algoritmik AC AC / Y STOR Y bentuk algoritmik Y AC Memerlukan 8 operasi Contoh Format Instr 0 Alamat A, B, C, D, E, Y adalah register Program: Y = (A – B) / ( C + D × E) PUSH A bentuk algoritmik S[top] A PUSH B bentuk algoritmik S[top] B SUB bentuk algoritmik S[top] A - B PUSH C bentuk algoritmik S[top] C PUSH D bentuk algoritmik S[top] D PUSH E bentuk algoritmik S[top] E MPY bentuk algoritmik S[top] D × E ADD bentuk algoritmik S[top] C + S[top] DIV bentuk algoritmik S[top] (A - B) / S[top] Arsitektur dan Organisasi Komputer - universitas Indraprasta 57 bentuk algoritmik Out S[top] POP Y Memerlukan 10 operasi Latihan Kerjakan X = (A + B × C) / (D – E × F) Design dari sebuah intruksi sangat komplek karena mempengaruhi banyak aspek dalam sistem komputer. Beberapa hal yang paling fundamental dalam prose perancangan antara lain meliputi: Operation repertoire berkenaan dengan seberapa banyak dan jenis operasi apa yang yang harus tersedia dan sekomplek apakah operasi itu seharunya. Data types berkenaan dengan jenis data yang dapat disediakan Instruction format berknaan dengan panjang instruksi (bits), nomor alamat, ukuran field dan sebagainya. Register berkenaan dengan jumlah register yang dapat digunakan oleh instruksi dan masing-masing fungsinya. Addressing digunakan untuk menspesifikasikan alamat operand. Jenis-jenis operasi komputer: Data transfer : Lokasi sumber dan tujuan harus ditentukan Panjang data harus diidentifikasi Mode address untuk setiap operasi harus ditentukan Arithmetic Logical Conversion I/O System control Transfer of control Arsitektur dan Organisasi Komputer - universitas Indraprasta 58 BAB 10. MODE PENGALAMATAN 1. Definisi dan Fungsi Dua cara yang umumnya dilakukan dalam penempatan operand instruksi yaitu pada lokasi memori utama dan register CPU. Apabila penempatan berada pada memori utama maka alamat lokasi harus diberikan oleh instruksi dalam medan operand tidak perlu memberikan alamat secara eksplisit pada instruksi. Mode pengalamatan merupakan metode penentuan alamat operand pada instruksi. Tujuan yang mempengaruhi arsitektur komputer ketika memilih mode pengalamatan: 1. Mengurangi panjang instruksi dengan mempunyai medan yang pendek untuk alamat. 2. Menyediakan bantuan yang tangguh kepada pemrogram untuk penanganan data kompleks seperti pengindeksan sebuah array, control loop, relokasi program dan sebagainya. 2. Teknik Pengalamatan 1. Immediate Addressing 2. Direct Addressing 3. Indirect Addressing 4. Register addressing 5. Register indirect addressing 6. Displacement addressing 7. Stack addressing 1. Immediate Addressing Merupakan metode yang tidak melakukan aktivitas pengambilan operand. Operand benar-benar ada dalam instruksi atau bagian dari instruksi = operand sama dengan field alamat Umumnya bilangan akan disimpan dalam bentuk komplement dua Arsitektur dan Organisasi Komputer - universitas Indraprasta 59 Bit paling kiri sebagai bit tanda Ketika operand dimuatkan ke dalam register data, bit tanda digeser ke kiri hingga maksimum word data Contoh: ADD 5; tambahkan 5 pada akumulator Keuntungan: Tidak adanya referensi memori selain dari instruksi yang diperlukan untuk memperoleh operand Menghemat siklus instruksi sehingga proses keseluruhan akan cepat Kekurangan: Ukuran bilangan dibatasi oleh ukuran field alamat 2. Direct Addressing Alamat operand secara eksplisit diberikan didalam instruksi. Keuntungan: Field alamat berisi efektif address sebuah operand Teknik ini banyak digunakan pada komputer lama dan komputer kecil Hanya memerlukan sebuah referensi memori dan tidak memerlukan kalkulus khusus Kekurangan: Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word Contoh: ADD A ; tambahkan isi pada lokasi alamat A ke akumulator Arsitektur dan Organisasi Komputer - universitas Indraprasta 60 Gambar 10.1 Direct Addressing 3. Indirect Addressing Pada metode ini dapat melalui lokasi memori atau register. Indirect addressing memori: jika sebuak lokasi memori menyimpan alamat operand. Indirect addressing register: jika sebuah register digunakan untuk menyimpan alamat operand. Field alamat mengacu pada alamat word di alamat memori, yang pada gilrannya akan berisi alamat operand yang panjang. Contoh: ADD (A); tambahkan isi memori yang ditunjuk oleh isi alamat A ke akumulator Gambar 10.2 Indirect Addressing Keuntungan: Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi Arsitektur dan Organisasi Komputer - universitas Indraprasta 61 Kekurangan: Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat proses operasi 4. Register Addressing Pengalamatan ini sama dengan direct addressing yang membedakan hanya pada lokasi register yang digunakan. Metode pengalamatan register mirip dengan mode pengalamatan langsung Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori utama Field yang mereferensi register memiliki panjang 3 atau 4 bit, sehingga dapat mereferensi 8 atau 16 register general purpose. Gambar 10.3. Register Addressing Keuntungan: Diperlukan field alamat berukuran kecil dalam instruksi dan tidak diperlukan referensi memori Akses ke register lebih cepat daripada akses ke memori, sehingga proses eksekusi akan lebih cepat Kekurangan: Ruang alamat menjadi terbatas Arsitektur dan Organisasi Komputer - universitas Indraprasta 62 5. Register Indirect Addressing Metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung Perbedaannya adalah field alamat mengacu pada alamat register. Letak operand berada pada memori yang dituju oleh isi register Keuntungan dan keterbatasan pengalamatan register tidak langsung pada dasarnya sama dengan pengalamatan tidak langsung Keterbatasan field alamat diatasi dengan pengaksesan memori yang tidak langsung sehingga alamat yang dapat direferensi makin banyak Dalam satu siklus pengambilan dan penyimpanan, mode pengalamatan register tidak langsung hanya menggunakan satu referensi memori utama sehingga lebih cepat daripada mode pengalamatan tidak langsung Gambar 10.4. Register Indirect Addressing 6. Displacement Addressing Menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung Mode ini mensyaratkan instruksi memiliki dua buah field alamat, sedikitnya sebuah field yang eksplisit Arsitektur dan Organisasi Komputer - universitas Indraprasta 63 Field eksplisit bernilai A dan field implisit mengarah pada register Operand berada pada alamat A ditambahkan isi register Gambar 10.5. Displacement Addressing Tiga model displacement a. Relative addressing Relative addresing, register yang direferensi secara implisit adalah program counter (PC) Alamat efektif didapatkan dari alamat instruksi saat itu ditambahkan ke field alamat Memanfaatkan konsep lokalitas memori untuk menyediakan operand-operand berikutnya b. Base register addressing Base register addressing, register yang direferensi berisi sebuah alamat memori, dan field alamat berisi perpindahan dari alamat itu Referensi register dapat eksplisit maupun implisit Memanfaatkan konsep lokalitas memori c. Indexing Indexing adalah field alamat mereferensi alamat memori utama, dan register yang direferensikan berisi pemindahan positif dari alamat tersebut Arsitektur dan Organisasi Komputer - universitas Indraprasta 64 Merupakan kebalikan dari mode base register Field alamat dianggap sebagai alamat memori dalam indexing Manfaat penting dari indexing adalah untuk eksekusi program-program iteratif 7. Stack Addressing Semua operand untuk suatu instruksi diambil dari bagian teratas stack. Instruksi tidak memiliki medan operand. Stack adalah array lokasi yang linier = pushdown list = last-in-first-out Stack merupakan blok lokasi yang terbalik Yang berkaitan dengan stack adalah pointer yang nilainya merupakan alamat bagian paling atas stack Dua elemen teratas stack dapat berada di dalam register CPU, yang dalam hal ini stack pointer mereferensi ke elemen ketiga stack Stack pointer tetap berada dalam register Dengan demikian, referensi-referensi ke lokasi stack di dalam memori pada dasarnya merupakan pengalamatan register tidak langsung. Arsitektur dan Organisasi Komputer - universitas Indraprasta 65 BAB 11. STRUKTUR CPU DAN FUNGSI Proses yang terjadi didalam CPU Fetch Instruction, membaca instruksi dari memori Interpret Instruction, instruksi diterjemahkan kedalam perintah yang relevan. Fetch data, proses eksekusi dari sebuah instruksi membutuhkan pembacaan data dari memori atau modul I/O Process data, proses eksekusi dari sebuah instruksi membutuhkan perhitungan aritmatika atau operasi logika pada data Write data, hasil dari sebuah eksekusi butuh ditulis kedalam memori atau modul I/O Untuk menjalan semua proses tersebut CPU membutuhkan proses penyimpanan, kemampuan mengingat alamat instruksi terakhir untuk mencapai instruksi selanjutnya. 1. Komponen Utama CPU adalah: Arithmetic and Logic Unit (ALU) yang terdiri dari dua bagian unit arithmetika dan unit Boolean. Control Unit bertugas mengontrol operasi CPU dan keseluruhan sistem komputer. Mengambil instrukssi-instruksi dari memori utama dan menentukan jenis instruksi tersebut. CPU CU ALU Register Control Data Address Sistem BUS Gambar 11.1. CPU dengan sistem Bus Arsitektur dan Organisasi Komputer - universitas Indraprasta 66 Gambar 11.2. Struktur Internal CPU Fungsi CPU CPU berfungsi menjalankan program-program yang tersimpan di memori utama dengan cara mengambil sebuah instruksi , mengeksekusinya dan kemudian mengambil instruksi selanjutnya kegiatan yang berulang ini disebut sebagai siklus instruksi yang terdiri dari dua tahapan langkah, yaitu: siklus pengambilan (fetch) dan siklus eksekusi. Pengambilan Instruksi Instruksi Berikutnya 2. Siklus pada CPU Eksekusi Instruksi Gambar 11.3. Siklus Siklus Pengambilan (Fetch) dan Eksekusi Siklus instruksi merupakan proses yang terjadi didalam CPU yaitu sebuah siklus yang diawali dengan pembacaan instruksi dari memori. Setiap kali terjadi pembacaan memori maka Program Counter (PC) akan menambah satu hitungan. Selanjutnya Instruksi-instruksi tersebut akan diisikan didalam register instruksi (IR) yang kemudian akan diterjemahkan oleh CPU untuk menjalankan proses yang diperintahkan. Proses tersebut dikelompokan kedalam empat kategori: CPU – memori, perpindahan data dari CPU ke memori dan sebaliknya Arsitektur dan Organisasi Komputer - universitas Indraprasta 67 CPU – I/O, perpindahan data dari CPU ke modul I/O dan sebaliknya. Pengolahan data, CPU membentuk sejumlah operasi aritmatika dan logika terhadap data. Kontrol, merupakan instruksi untuk melakukan kontrol fungsi atau kerja. Siklus eksekusi untuk suatu instruksi dapat melibatkan lebih dari sebuah referensi ke memori. Instruction Address Calculation (IAS) menentukan alamat instruksi berikutnya yang akan dieksekusi. Instruction Fetch (IF) membaca atau mengambil instruksi dari lokasi memori ke CPU Instruction Operation Decoding (IOD) menganalisa intruksi untuk menentukan jenis operasi yang akan dibentuk dan operand yang akan digunakan. Operand Address Calculation (OAC) menentukan alamat operand apabila melibatkan referensi operand pada memori. Operand Fetch (OF) mengambil operand dari memori atau dari modul I/O Data Operation (DO) membentuk operasi yang diperintahkan dalam instruksi Operand Store (OS) menyimpan hasil eksekusi ke dalam memori Gambar 11.4. Diagram Siklus Instruksi Arsitektur dan Organisasi Komputer - universitas Indraprasta 68 Siklus Interupsi Interupsi merupakan suatu proses penghentian dan pengalihan instruksi yang sedang berlangsung di dalam CPU untuk sementara menjalankan routine interupsi. Setiap komponen komputer mempunyai kecepatan eksekusi yang berbeda sehingg fungsi interupsi digunakan sebagai sinkronisasi kerja antar modul. Macam-macam kelas interupsi: Program, merupakan interupsi yang terjadi sebagai hasil eksekusi program. Misal aritmatika flow, operasi illegal, dll. Timer, merupakan interupsi yang dibangkitkan oleh pewaktuan dalam prosesor. I/O, merupakan interupsi yang dibangkitkan oleh modul I/O sehubungan dengan pemberitahuan kondisi error dan penyelesaian suatu operasi. Hardware failure, merupakan interupsi yang dibangkitkan oleh kegagalan daya atau kesalahan paritas memori. Ketika suatu modul telah menyelesaikan tugasnya dan bersiap untuk menerima instruksi selanjutnya maka modul akan mengirimkan permintaan interupsi ke prosesor. Kemudian prosesor akan melayani routine handle tersebut dengan menghentikan aktifitas yang sedang dikerjakan yang kemudian akan melanjutkan kembali setelah program interupsi selesai. Ada dua kondisi respon ketika prosesor menerima sinyal interupsi yang masuk yaitu interupsi diterima/ditangguhkan dan ditolak. Bilamana terjadi penangguhan maka prosesor akan melakukan beberapa hal berikut: Menangguhkan eksekusi yang sedang berjalan dan menyimpan konteksnya dengan menyimpan alamat instruksi berikutnya yang akan dieksekusi. Prosesor mengarahkan Program Counter (PC) pada alamat awal routine interrupt handler. Arsitektur dan Organisasi Komputer - universitas Indraprasta 69 Gambar 11.5. Siklus Eksekusi Instruksi dengan Interupsi Interupsi berganda sangat dimungkinkan terjadi pada sistem operasi yang komplek. Terdapat dua pendekatan untuk menangani interupsi berganda : Pengolahan interupsi berurutan/sekuensial bilamana prosesor menolak/tidak mengizinkan interupsi lain saat menangani sebuah interupsi ditangani prosesor. Dan prosesor akan menjawab interupsi bilamana telah merampungkan instruksi yang sedang dikerjakan. Kelemahan pendekatan ini adalah tidak memperhitungkan prioritas interupsi Pengolahan interupsi bersarang merupakan pendekatan dengan mengutamakan interupsi yang memiliki prioritas lebih tinggi . Arsitektur dan Organisasi Komputer - universitas Indraprasta 70 Gambar 11.6. Interupsi Bersarang Diberikan suatu kondisi dimana terjadi tiga kegiatan proses pencetakan dengan printer, permohonan modul komonikasi pembacaan memori dan pembacaan disk dengan urutan prioritas 3,1,2. Saat proses pencetakan berlangsung prosesor mendapatkan sinyal permohonan interupsi untuk mengakses modul komunikasi. Maka proses dialihkan dan pencetakan dihentikan sementara. Saat pengeksekusian modul komunikasi ditemukan sinyal interupsi pembacaa disk yang berprioritas lebih rendah maka interupsi diabaikan. Pembacaan modul komunikasi dirampungkan hingga selesai yang dilanjutkan kemudian dengan pembacaan disk dan pencetakan. Arsitektur dan Organisasi Komputer - universitas Indraprasta 71 3. RISC dan CISC Arsitektur komputer berhubungan dengan perancangan set instruksi dan penentuan bit-bit pada setiap rangkaian field dalam instruksi. Adanya kelemahan pada desain instruksi akan mempengaruhi pemrogram bahasa mesin serta kompiler. Dua konsep yang berhubungan dengan CPU dan set instruksi: 1. Complex Instruction Set Computing (CISC) 2. Reduce Instruction Set Computing (RISC) Semua sistem komputer lama relatif mempunyai sistem CISC. Sementara generasi komputer sekarang cenderung menggunakan RISC karena tingkat kinerjanya yang tinggi. Konsep CISC Tujuan utama dari arsitektur CISC adalah melaksanakan suatu instruksi cukup dengan beberapa baris bahasa mesin yang relatif pendek sehingga implikasinya hanya sedikit saja RAM yang digunakan untuk menyimpan instruksi-instruksi tersebut. Arsitektur CISC menekankan pada perangkat keras karena filosofi dari arsitektur CISC yaitu bagaimana memindahkan kerumitan perangkat lunak ke dalam perangkat keras. Kelemahan CISC: 1. Kompleksitas CPU: desain unit kontrol komplek karena mempunyai set instruksi yang besar. 2. Ukuran sistem dan biaya: terdapat banyak sirkuit hardware mengakibatkan CPU menjadi Komplek sehingga meningkatkan biaya. 3. Kecepatan Clock: sirkuit yang besar mengakibatkan propagation delay lebih besar sehingga kecepatan clock menurun. 4. Keandalan: sirkuit besar mengakibatkan tingginya tingkat kegagalan. 5. Maintainability: rumitnya sirkuit mengakibatkan pendeteksian kegagalan jauh lebih sulit. Penemuan microprogramming membantu menurunkan beban tersebut. Arsitektur dan Organisasi Komputer - universitas Indraprasta 72 6. Pipeline instruksi memerlukan dua atau lebih siklus clock. 7. Prosesor mengandalkan efiensi compiler untuk mendeteksi dan mengurangi waktu tunda. Konsep RISC RISC (Reduce Instruction Set Computing), merupakan sebuah arsitektur komputasi modern dengan instruksi-instruksi dan jenis eksekusi yang paling sederhana. Arsitektur ini digunakan pada komputer dengan kinerja tinggi, seperti komputer vektor. Selain digunakan dalam komputer vektor, desain ini juga diimplementasikan pada prosesor komputer lain, seperti pada beberapa mikroprosesor Intel 960, Itanium (IA64) dari Intel Corporation, Alpha AXP dari DEC, R4x00 dari MIPS Corporation, PowerPC dan Arsitektur POWER dari International Business Machine. Selain itu, RISC juga umum dipakai pada Advanced RISC Machine (ARM) dan StrongARM (termasuk di antaranya adalah Intel XScale), SPARC dan UltraSPARC dari Sun Microsystems, serta PA-RISC dari Hewlett-Packard. Arsitektur RISC mempunyai fitur sebagai berikut: 1. Instruksi sederhana 2. Set instruksi kecil 3. Panjang instruksi sama untuk semua instruksi 4. Register untuk penyimpanan operand jumlahnya besar (konsep kerja register ke register). 5. Arsitektur Load/Store: compiler memberikan banyak istruksi load/store dikarenakan operand dan hasil berada dalam register bukan memori. 6. Penggunaan pengalamatan tak langsung register. 7. Eksekusi instruksi yang lebih cepat. 8. Pipeline instruksi hanya dalam satu siklus clock. Arsitektur dan Organisasi Komputer - universitas Indraprasta 73 Tabel 11.1. Tabel Perbandingan singkat CISC dan RISC CISC RISC Menekankan pada perangkat keras, dengan sedikit transistor sesuai dengan peruntukannya bagi programmer. Instruksi sederhana bahkan single Load / Store atau memory ke memory Memiliki instruksi komplek. Load / Store atau Memori ke Memori bekerja terpisah bekerjasama Memiliki ukuran kode yang kecil dan Transistor di dalamnya digunakan untuk menyimpan instruksi – Ukuran kode besar dan kecepatan lebih tinggi kecepatan yang rendah. Menekankan pada perangkat lunak, Transistor didalamnya lebih untuk meregister memori instruksi bersifat kompleks. Arsitektur dan Organisasi Komputer - universitas Indraprasta 74 BAB 12. CONTROL UNIT 1. Fungsi dan Operasi Control Unit Control unit berfungsi sebagai pengendali setiap aktifitas yang ada didalam CPU dan membangkitkan sinyal-sinyal kontrol. Mikrooperasi-mikrooperasi dilaksakan bila sinyal kontrol yang relevan mengaktifkan titik-titik kontrol. Sebuah instruksi terdiri dari sejumlah langkah yang disebut sebagai siklus (cycle) yang terdiri dari fetch, indirect, execute dan interrupt. Selain melakukan instruksi regular, control unit juga melakukan intsruksi khusus tertentu seperti: urutan reset, pelayanan interrupt dan penanganan situasi kegagalan lainnya. 2. Microoperation a. Siklus Fetch Merupakan siklus pertama yang dilakukan dalam instruksi dimana pengambilan instruksi di dapat dari sejumlah memori, antara lain: Memory Buffer Register (MBR),terhubung dengan jalur alamat pada sistem bus yang menentukan alamat baca atau tulis pada memori. Memory Address Register (MAR), terhubungdengan jalur data pada sistem bus yang yang berisikan data yang akan dsimpan atau terakhir dibaca dalam memori. Program Counter (PC), menyimpan alamat dari instruksi selanjutnya. Instruction Register (IR), menyimpan siklus fetch yang terakhir Tahapan siklus fetch: T1: Membaca alamat instuksi selanjutnya dari PC kemudian memindahkan alamat tersebut pada MAR (satu-satunya memori yang terhubung langsung dengan jalur bus). T2: Melakukan kopi data dari jalur data bus berdasarkan address yang terdapat pada jalur bus dan selanjutnya disimpan pada MBR. Menambahkan counter pada PC T3: Memindahkan isi insruksi dari MBR kedalam IR (membebaskan sementara MBR dari siklus intruksi). Arsitektur dan Organisasi Komputer - universitas Indraprasta 75 T1: MAR (PC) T2: MBR memori PC (PC) + I IR (MBR) b. Siklus Indirect Merupakan siklus mengambil operand sumber. Dengan asumsi format instruksi satu alamat, pengalamatan langsung dan tak langsung diijinkan. Apabila operasi tersebut menspesifikasikan alamat tak langsung maka siklus tak langsung harus mendahului siklus eksekusi. Tahapan siklus Indirect: T1 : MAR (IR (Address)) T2 : MBR Memori T3: IR (Address) (MBR(Address)) c. Siklus Interrupt Siklus interrupt terjadi pada saat Control Unit memeriksa kehadiran permintaan interupsi sebelum melakukan pengambilan intruksi baru dan setelah instuksi yang sebelumya diselesaikan. Jika terjadi interupsi maka siklus interrupt dijalankan. Tahapan siklus Interrupt d. Siklus Execute T1: MBR (PC) T2 : MAR save address PC Routine Address Siklus ini jauh lebih kompleks jika dibandingkan dengan siklus lainnya. Pada siklus fetch, T3 : Memory (MBR) indirect dan interrupt siklus cenderung sama untuk setiap program sementara siklus execute tergantung dari perintah instruksinya. Arsitektur dan Organisasi Komputer - universitas Indraprasta 76 3. Input dan Output pada Unit Control Input Unit Control Unit control mempunyai beberapa masukan antara lain: 1. Clock berfungsi melakukan sinkronisasi operasi antar komponen 2. Flag digunakan untuk mengetahui status CPU 3. Instruction register digunakan untuk menentukan operasi mikro yang akan digunakan berdasarkan operand 4. Sinyal kontrol dari Bus member jalur munuju unit kontrol dari bus Instruction register Sinyal kontrol didalam CPU flag Control Sinyal kontrol ke Bus Unit Clock Sinyal kontrol dari Bus Control bus Output Unit Control: 1. Sinyal kontrol didalam CPU terdiri dari beberapa sinyal: Sinyal-sinyal yang menyebabkan perpindahan data antar register Sinyal-sinyal yang dapat mengaktifkan fungsi ALU 2. Sinyal kontrol menuju Bus Sinyal kontrol menuju memori Sinyal kontrol menuju modul I/ Arsitektur dan Organisasi Komputer - universitas Indraprasta 77 Pemilihan Design Control Unit Control Unit didesign dengan dua macam kemampuan berbeda: 1. Kumpulan sinyal kontrol unik bagi setiap intruksi 2. Sinyak kontrol dari suatu intruksi diberikan dengan urutan yang tepat. Terdapat dua cara mendesign unit kontrol yaitu hardwired Control Unit (HCU) merupakan design konvensional dan Microgrammed Control Unit (MCU) yang merupakan teknik design modern. 1. Hardwired Control Unit (HCU) Terdiri dari kumpulan sirkuit kombinasional yang membangkitkan sinyal kontrol melalui sirkuit hardware. Keunggulan Hardwired Control Unit adalah mampu bekerja lebih cepat dari Microgrammed Control Unit(MCU) 2. Microgrammed Control Unit (MCU) Menggunakan konsep penyimpanan microgram yaitu menyimpan pola sinyal kontrol pada sebuah memori ROM untuk membangkitkan sinyal-sinyal kontrol. Keunggulan dari dari design ini adalah rancangan lebih mudah dan dapat dimodifikasi. Arsitektur dan Organisasi Komputer - universitas Indraprasta 78 BAB 13. PARALLEL KOMPUTER 1. Klasifikasi Multiprosesor Sistem multiprosesor dapat dibedakan menjadi dua kelompok: 1. Loosely coupled: memori tidak disharing dan setiap prosesor mempunyai memori sendiri. Memori 2. Tightly coupled: melakukan sharing informasi melalui sebuah memori bersama. Klasifikasi tightly coupled terbagi menjadi : Uniform memory acces (UMA) : waktu akses memori sama untuk semua prosesor Non uniform memory acces (NUMA) : waktu akses memori berbeda untuk prosesor yang berbeda. No Remote Memory Access (NORMA) Cluster Suatu interkoneksi sistem komputer multi independen yang dioperasikan seperti sebuah sistem tunggal dalam suatu kerjasama. Setiap simpul dalam cluster dapat juga bekerja secara independen Cluster berbeda dengan sebuah jaringan komputer. Pada jaringan komputer tujuan utama adalah resource sharing sementara cluster menyediakan semua kebaikan dari sistem mutiprosessor Cluster komputer terbagi ke dalam beberapa kategori, sebagai berikut: 1. High-availability clusters Diimplementasikan untuk tujuan meningkatkan ketersediaan layanan yang disediakan oleh cluster itu sendiri. Ukuran yang umum digunakan adalah dua node. 2. Load-balancing clusters Mendistribusikan beban kerja secara merata melalui beberapa node yang bekerja dibelakang. Arsitektur dan Organisasi Komputer - universitas Indraprasta 79 3. Compute clusters Tujuan clustering adalah untuk tujuan komputasi tidak mengedepankan layanan basis data/web. 4. Grid computing Mencakup banyak pekerjaan independen yang tidak harus berbagi data yang sama Berbagi sumber daya mungkin dapat diterapkan namun hasil dari setiap proses tidak mempengaruhi kegiatan yang lainnya. Ada dua tujuan utama dibelakang terbentuknya cluster: Load sharing: dua sistem membentuk cluster dan sharing beban pemrosesan Share hard disk Sistem 1 Adapter Sistem 2 Adapter Link kecepatan tinggi Gambar konsep load sharing pada cluster Fault Tolerance: dua sistem yang membentuk cluster dimana salah satu digunakan sebagai hot stand-by yang berfungsi melakukan pengambil alihan fungsi bila terjadi kegagalan. Dan berlaku diam selama tidak menemukan kegagalan pada sistem lain. Sistem utama Stand by Link kecepatan tinggi Adapter Adapter Gambar konsep fault tolerance Arsitektur dan Organisasi Komputer - universitas Indraprasta 80 2. Komputasi Paralel Komputasi parallel adalah salah satu teknik melakukan komputasi secara bersama dengan memanfaatkan beberapa komputer independen secara bersama. Perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini: Gambar 13.1. Penyelesaian Sebuah Masalah pada Komputasi Tunggal Gambar 13.2. Penyelesaian Sebuah Masalah pada Komputasi Paralel Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal. Komputer Paralel : Komputer yang memiliki kemampuan untuk melakukan pengolahan paralel. Pengolahan Paralel : pengolahan informasi yang menekankan pada manipulasi data-data elemen secara simultan dimaksudkan untuk mempercepat komputasi dari sistem komputer dan menambah jumlah keluaran (troughput) yang dapat dihasilkan dalam jangka waktu tertentu. Arsitektur dan Organisasi Komputer - universitas Indraprasta 81 Peningkatan throughput dapat dilakukan dengan : Meningkatkan kecepatan operasi Meningkatkan jumlah operasi yang dapat dilakukan dalam satu waktu tertentu (concurrency). 3. Klasifikasi Komputer Parallel: Klasifikasi Flynn Memandang organisasi sebuah sistem komputer berdasarkan jumlah instruksi dan data ang dimanipulasi secara simultan dan membaginya menjadi empat kelompok utama: SISD (Single Instruction stream, Single Data stream) Komputer tunggal yang mempunyai satu unit kontrol, satu unit prosesor dan satu unit memori. Control Instruction Stream Processor Data Memory Stream SIMD (Single Instruction stream, Multiple Data stream) Komputer yang mempunyai beberapa unit prosesor di bawah pengawasan satu unit kontrol. Setiap prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data yang berbeda. Processor Data Stream Shared Memory Control Instruction Stream Processor Data Stream or Processor Data Stream Arsitektur dan Organisasi Komputer - universitas Indraprasta 82 MISD (Multiple Instruction stream, Single Data stream) Sampai saat ini struktur ini masih merupakan struktur teoritis dan belum ada komputer dengan model ini. Control 1 Instruction Stream Processor 1 Control 2 Instruction Stream Processor 2 . . . Instruction Stream Control N Data . Memory Processor N MIMD (Multiple Instruction stream, Multiple Data stream) Organisasi komputer yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam kategori ini. Control 1 Control 2 Instruction Stream Processor 1 Instruction Stream Processor 2 . . . Instruction Stream Stream Shared Data Memory Stream . Control N Data Processor N Arsitektur dan Organisasi Komputer - universitas Indraprasta or Data Interconnection Stream 83 T.G. LEWIS T.G. Lewis membedakan komputer paralel ke dalam dua kelas, berdasarkan ada atau tidak adanya common global clock, sebagai : synchronous dan asynchronous. PARALLEL COMPUTER SYNCHRONOUS ASYNCHRONOU S Vector / Array MIMD SIMD Reduction Systolic Arsitektur dan Organisasi Komputer - universitas Indraprasta 84 Synchronous : Pada komputer paralel yang termasuk dalam kategri ini terdapat koordinasi yang mengatur beberapa operasi untuk dapat berjalan bersamaan sedemikian hingga tidak ada ketergantungan antar operasi. Parallelism yang termasuk dalam kategori ini adalah vector/array parallelism, SIMD dan systolic parallelism. Systolic parallel computer adalah multiprocessor dimana data didistribusikan dan dipompa dari memory ke suatu array prosesor sebelum kembali ke memori. Asynchronous : Pada komputer paralel yang termasuk dalam kategori asynchronous, masing-masing prosesor dapat diberi tugas atau menjalankan operasi berbeda dan masing-masing prosesor melaksanakan operasi tersebut secara sendiri-sendiri tanpa perlu koordinasi. Paradigma yang juga termasuk dalam kategori ini adalah MIMD dan reduksi. Paradigma reduksi adalah paradigma yang berpijak pada konseph graph reduksi. Program dengan model reduksi diekspresikan sebagai graph alur data. Komputasi berlangsung dengan cara mereduksi graph dan program berhenti jika graph akhirnya hanya mempunyai satu simpul. MICHAEL J. QUINN Quinn membedakan paralelisma ke dalam dua jenis : Data Parallelism dan Control Parallelism. Data Parallelism : penerapan operasi yang sama secara simultan terhadap elemenelemen dari kumpulan data. Control Parallelism : penerapan operasi-operasi berbeda terhadap elemen-elemen data yang berbeda secara bersamaan. Pada control parallelism dapat terjadi aliran data antar proses-proses dan kemungkinan terjadi aliran data yang kompleks/rumit. Arsitektur dan Organisasi Komputer - universitas Indraprasta 85 Teknik pemecahan satu tugas menjadi beberapa sub-tugas dan mengeksekusi tugas tersebut secara bersamaan dalam unit-unit multihardware atau segmen-segmen yang disebut sebagai Pipelining merupakan satu kasus khusus dari control parallelism dimana aliran data membentuk jalur yang sederhana. w1 A B SEKUENSIAL w w w 1 w A B PIPELINED A A A w w w w w w 3 B B B DATA PARALLELISM Gambar Ilustrasi perbandingan pipelining dengan data parallelism. Arsitektur dan Organisasi Komputer - universitas Indraprasta 86 4. Analisa Algoritma Paralel. Pada saat sebuah algoritma digunakan untuk memecahkan sebuah problem, maka performance dari algoritma tersebut akan dinilai. Hal ini berlaku untuk algoritma sekuensial maupun algoritma paralel. Penampilan sebuah algoritma pengolahan peralel dapat dinilai dari beberapa kriteria, seperti running time dan banyaknya prosesor yang digunakan. Running Time Running time adalah waktu yang digunakan oleh sebuah algoritma untuk menyelesaikan masalah pada sebuah komputer paralel dihitung mulai dari saat algoritma mulai hingga saat algoritma berhenti. Jika prosesor-prosesornya tidak mulai dan selesai pada saat yang bersamaan, maka running time dihitung mulai saat komputasi pada prosesor pertama dimulai hingga pada saat komputasi pada prosesor terakhir selesai. Counting Steps Untuk menentukan running time, secara teoritis dilakukan analisa untuk menentukan waktu yang dibutuhkan sebuah algoritma dalam mencari solusi dari sebuah masalah. Hal ini dilakukan dengan cara menghitung banyaknya operasi dasar, atau step, yang dilakukan oleh algoritma untuk keadaan terburuknya (worst case). Langkah-langkah yang diambil oleh algoritma dibedakan ke dalam dua jenis yaitu a. Computational step Sebuah computational step adalah sebuah operasi aritmetika atau operasi logika yang dilakukan terhadap sebuah data dalam sebuah prosesor. b. Routing step Pada routing step, sebuah data akan melakukan perjalanan dari satu prosesor ke prosesor lain melalui shared memory atau melalui jaringan komunikasii Contoh 1: Arsitektur dan Organisasi Komputer - universitas Indraprasta 87 Perhatikan sebuah file komputer dengan n entri berbeda. Pada file tersebut akan diperiksa apakah x terdapat di dalamnya. Dengan algoritma sekuensial, keadaan terburuknya (worst case) untuk menemukan x membutuhkan n langkah, dimana tiap langkah adalah membandingkan x dengan sebuah entri pada file. Keadaan terburuk terjadi jika x ternyata sama dengan entri terakhir pada file atau x tidak terdapat pada file tersebut. Dengan EREW SM SIMD (Exclusive Read Exclusive Write Shared Memory SIMD) komputer dengan N prosesor, dimana N n, pada worst casenya dibutuhkan n /N log N + langkah. Misalkan P1 , P2 , … , PN prosesor-prosesor pada EREW SM SIMD komputer tersebut. Proses pencarian entri yang sama dengan x adalah : -. Broadcasting, x dikomunikasikan pada semua prosesor dengan cara 1. P1 membaca x dan mengkomunikasikan dengan P2. 2. P1 dan P2 secara simultan mengkomunikasikan x dengan P3 dan P4 3. P1, P2, P3 dan P4 secara simultan meng-komunikasikan x dengan P5 , P6 , P7 dan P8 . Dan seterusnya hingga semua prosesor mengenal x. Proses ini dilakukan dalam log N langkah. -. Searching, File dimana x akan dicari dibagi ke dalam sub file dan secara simultan dilakukan pencarian oleh prosesor-prosesor : P1 mencari pada n/N entri pertama, P2 mencari pada n/N entri kedua, P3 mencari pada n/N entri ketiga, Arsitektur dan Organisasi Komputer - universitas Indraprasta 88 PN mencari pada n/N entri ke-N. Proses ini membutuhkan n /N langkah. Jadi total langkah yang dibutuhkan oleh algoritma tersebut adalah : log N + n /N langkah. Speedup Pengukuran speedup digunakan untuk mengevaluasi kinerja algoritma parallel. Dilakukan dengan melakukan perbandingan antara waktu yang diperlukan algoritma sekuensial yang paling efisien untuk melakukan komputasi dengan waktu yang dibutuhkan untuk melakukan komputasi yang sama pada sebuah mesin pipeline atau parallel Speedup = Worst case running time dari algoritma sekuensial terefisien Worst case running time dari algoritma Banyaknya Prosesor Semakin banyak prosesor yang digunakan semakin tinggi biaya untuk memperoleh solusi sebuah problem. Hal ini terjadi karena perlu dipertimbangkan biaya pengadaan prosesor dan perawatannya. Jumlah prosesor yang tergantung dari n, n=ukuran problem, dinyatakan sebagai p(n). Kadang-kadang jumlah prosesor tidak tergantung pada ukuran problem. Contoh 3 : Perhatikan n bilangan x1,x2,…,xn yang akan dijumlahkan. Dengan menggunakan komputer tree-connected SIMD dengan log n level dan n/2 daun, dibutuhkan pohon dengan ukuran (n-1) atau p(n) = n -1 . Ilustrasi untuk n = 8. Arsitektur dan Organisasi Komputer - universitas Indraprasta 89 P1 P2 INPUT P3 P4 P5 P6 P7 x1 x2 x3 x4 x5 x6 x7 x8 Sedangkan pada contoh 1. , banyaknya prosesor, N , tidak tergantung pada ukuran problem, n . Arsitektur dan Organisasi Komputer - universitas Indraprasta 90 DAFTAR PUSTAKA 1. Andrew S. Tanenbaum, Structured Computer Organization Fifth Edition, Pearson Prentice Hall 2005 2. Willam Stallings, Organisasi & Arsitektur Komputer Edisi keenam, Prentice Hall 2003 3. Syahrul, Organisasi dan Arsitektur Komputer, Andi offset 2010 Arsitektur dan Organisasi Komputer - universitas Indraprasta 91