Rabu, 16 November 2011

tugas orgaisasi dan arsitektur komputer (pertemuan ke-3)

PERTEMUAN MINGGU KE-7

1. SISTEM MEMORY

a. Klasifikasi memory

- Memori Utama :

1. Internal : RAM, DRAM, SDRAM

2. Eksternal: ROM, PROM, EPROM, CACHE

I. TEKNOLOGI DAN BIAYA SISTEM MEMORI

Ada 2 teknologi yang mendominasi industri memori sentral dan memori utama, yaitu :

a. Memori Magnetic Core (tahun 1960)

Sel penyimpanan yang ada dalam memori inti dibuat dari elemen besi yang berbentuk donat yang disebut magnetic core (inti magnetis) atau hanya disebut core saja.

Para pembuat(pabrikan) yang membuat core ini menyusun core plane bersama dengan sirkuit lain yang diperlukan, menjadi memori banks(bank memori).

b. Memori Solid State

Komputer yang pertama diproduksi untuk tujuan komersil adaalah UNIVAC dimana :

· CPU nya menggunakan teknologi vacuum tube (tabung hampa udara) dan menjalankan aritmatika decimal.

· Memori utamanya 1000 word (setiap word besarnya 60 bit dan menyimpan 12 karakter 5 bit)

II. ORGANISASI MEMORI

  • Salah satunya adalah menggunakan Inteleaving dimana tujuannya adalah untuk meningkatkan kecepatan pengaksesan system penyimpanan yang besar.
  • Sistem penyimpanan yang besar terdiri atas beberapa bank memori independent yang diakses oleh CPU dan peralatan I/O melalui pengontrolan port memori

Contoh : Cross bar switch

Sistem penyimpanan menggunakan Interleave High Order

  • Setiap bank (penyimpanan) berisi blok alamat yang berurutan.
  • Setiap peralatan, termasuk CPU, menggunakan bank memori yang berbeda untuk program dan datanya, maka semua bank dapat mentransfer data secara serentak.

Sistem penyimpanan menggunakan Interleave Low Order

  • Alamat yang berurutan berada dalam bank yang terpisah, sehingga setiap peralatan perlu mengakses semua bank selagi menjalankan programnya atau mentransfer data.

Contohnya : suatu siklus memori lebih lama daripada waktu siklus CPU.

  • Apabila word yang berurutan berada dalam bank yang berbeda, maka system penyimpanan bila dilengkapi dengan putaran yang cocok dapat melengkapi akses memori yang berurutan, dengan kata lain setelah CPU meminta untuk mengakses word pertama yang disimpan dalam salah satu bank, maka ia dapat bergerak ke bank kedua dan mengawali akses word kedua sementara penyimpanan tetap mendapatkan kembali word pertama sementara penyimpanan tetap mendapatkan kembali word pertama.Pada CPU kembali ke bank pertama, system penyimpanan diharapkan telah menyelesaikan mengakses word pertama dan telah siap mengakses lagi.
  • Banyak komputer berkinerja tinggi menggunakan Inteleave Low Order

III. JENIS MEMORI

a. Memory Read Only (ROM)

  • Peralatan memori yang dapat dibaca namun tidak dapat ditulis oleh CPU

Contoh : Switch Mekanis (computer menggunakannya untuk menyimpan konstansta yang digunakan untuk menentukan konfigurasi system(jumlah memori utama).

  • PROM (Programming Read Only Memory) adalah ROM yang diprogram oleh pabrik pembuatnya dan kita tidak bisa mengubah isinya.
  • EPROM (Erasable PROM) adalah ROM yang dapat dihapus dengan menggunakan sinar ultraviolet dan kemudian deprogram kembali.
  • EAROM(Electrically Alterable ROM) ROM yang dapat deprogram oleh computer dengan menggunakan operasi arus tinggi (high current) khusus, digunakan untuk menyimpan informasi yang jarang sekali berubah, contohnya : informasi konfigurasi.

b. Memory Read / Write

Memori Read/Write dapat diklasifikasikan menurut sifat pengoperasiannya adalah :

1. Sifat Fisik

v Statis lawan Dinamis

Static RAM (SRAM)

· Untuk setiap word apabila telah ditulis tidak perlu lagi dialamatkan atau dimanipulasi untuk menyimpan nilainya.

· Tidak perlu penyegaran

· Dibentuk dari flip-flop yang nmeggunakan arus kecil untuk memelihara logikanya.

· Digunakan untuk register CPU dan peralatan penyimpanan berkecepatan tinggi.

· Merupakan sirkuit memori semikonduktor yang cepat dan mahal.

Dynamic RAM (DRAM)

· Dibentuk dari kapasitor (peralatan yang digunakan untuk menyimpan muatan listrik) dan transistor

· Menggunakan sirkuit pembangkit

· Waktu siklusnya 2 kali access time (waktu access baca) yaitu waktu yang dibutuhkan untuk memanggil kembali data dari peralatan.

· Perlu penyegaran

v Volatil lawan Non-Volatil

Memori Volatile

Membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya. Contoh : RAM Static dan Dynamic

Memori Non Volatile

Tidak membutuhkan sumber daya yang terus menerus untuk menyimpan nilainya.

Contoh : ROM

v Read Destruktif lawan Read Non-Destruktif

Memori Read Destruktif

· Apabila dalam proses membaca word memori tersebut juga menghancurkan nilainnya.

· Mempunyai 2 fase operasi yaitu read cycle dan restore cycle

· Selama akses baca system penyimpan pertama kali akan membaca word dan selama akses tulis system penyimpanan pertama kali akan membaca word, yang mengakibatkan waku akses baca akan lebih pendek daripada waktu tulis.

Contoh : DRAM

Memori Read Non-Destruktif

· Dalam proses membaca word, memori tersebut tidak dapat dihancurkan.

· Contohnya : SRAM dan ROM

v Removable lawan Permanen

Memori Removable

· Memori yang elemen aktifnya dapat dikeluarkan dari hardware system.

· Contoh : disket.

Memori Non Removable

· Memori yang elemen aktifnya tidak dapat dikeluarkan dari hardware system.

· Contoh : RAM dan hard disk

2. Organisasi Logis

  • Teralamatkan (addressed)

Memori yang menggunakan alamat untuk menentukan sel yang dibaca dan ditulis.

  • Asosiatif

Memori yang menggunakan isi dari bagian word untuk menentukan sel yang dibaca atau ditulis

  • Akses Urut

Memori yang menggunakan piya magnetis untuk mengakses data secara urut.

3. Memori Archival

  • Memori non volatile yang dapat menyimpan banyak data dengan biaya yang sangat sedikit dan dalam jangka waktu yang lama.Contoh : Tape(Pita), Disk dan Disk Optis
  • Disk Optis menyimpan data dengan mengubah secara internal sifat reflektif dari bidang kecil yang ada pada disk dan membaca data dengan cara mendeteksi secara visual yang telah diubah.
  • WORM Memori (Word Once Read Many Times) ideal untuk menyimpan archival, karena bila sekali telah ditulis ia secara fungsional menjadi ROM.

IV. SISTEM MEMORI UTAMA

  • Tahun 1960-an para programmer system mengembangkan system pengoperasian multiprogramming, yang memanfaatkan atau menggunakan memori utama yang sangat besar.
  • Komputer yang hanya mempunyai satu system memori utama dikatakan mempunyai one-level strorage system(system penyimpanan tingkat satu)
  • Komputer yang mempunyai memori virtual menggunakan multilevel storage system (system penyimpanan bertingkat)
  • Penyimpanan multilevel mempunyai memori sentral(internal) yaitu memori utama dan register CPU sebagai primary memory dan peralatan penyimpanan eksternal seperti hardisk dan disket sebagai secondary memory memori sekunder.

V. RELOKASI PROGRAM DAN PROTEKSI MEMORI

  • Multiprogramming adalah cara yang tepat untuk meningkatkan kegunaan CPU dengan cara memungkinkan beberapa tugas berada dalam memori pada waktu yang bersamaan.
  • Berhasilnya multiprogramming ditentukan antara lain oleh :

o Relokasi Program

- Dengan cara menmpatkan program dimana saja dalam memori

- Initial Program Relocation (Relokasi Program Awal) adalah proses merelokasi program tempat system pengoperasian pertama kali.

- Dynamic Program Relocation (Relokasi Program Dinamis) adalah system pengoperasian dapat memindahkan program dari suatu tempat ke tempat yang lain dalam memori utama setelah program dijalankan.

o Proteksi Program

- Mencegah suatu program mengakses memori yang telah diberikan oleh system pengoperasian ke program yang lain.

- Contoh relokasi program dan proteksi adalah IBM System/360 dan CDC 6600

- IBM System/360

§ Menggunakan Register Base untuk merelokasi program

§ Menggunakan relokasi program awal

§ Menggunakan key-controlled memory protection untuk proteksi memori.

- CDC 6600

§ Mempunyai register khusus yaitu Relocation Address (RA/Register Alamat Relokasi) untuk merelokasi program.

§ Menggunakan relokasi program awal

VI. MEMORI CACHE

· Buffer berkecepatan tinggi yang digunakan untuk menyimpan data yang diakses pada saat itu dan data yang berdekatan dalam memori utama.

· Memori akses random (RAM) berkecepatan tinggi yang ditempatkan diantara system memori dan pemakaiannya untuk mengurangi waktu akses efektif dari system memori.

· Dengan memasukan memori chace antara peralatan cepat dan system memori yang lebih lambat, perancangan ini dapat memberikan system memori yang cepat.

· Kegunaan Memori Cache adalah :

w Program cenderung menjalankan instruksi yang berurutan, menyebabkan instruksi tersebut berada didekat lokasi memori.

w Program biasanya mempunyai simpul untuk tempat menjalankan kelompok instruksi secara berulang-ulang.

w Compiler menyimpan array dalam blok lokasi memori yang bersebelahan.

w Compiler biasanya menempatkan item data yang tidak berhubungan didalam segmen data.

· Cache terdiri dari sejumlah cache entries(entry cache) dan setiap entri cache terdiri dari 2 yaitu

o Memori Cache

§ merupakan SRAM berkecepatan tinggi

§ data yang disimpan merupakan kopi dari data memori utama yang terpilih pada saat itu atau data yang baru disimpan yang belum berada didalam memori.

o Address Tag (Tag Alamat)

§ Menunjukan alamat fisik data yang ada dalam memori utama dan beberapa informasi valid

· Cara kerja Cache adalah :

    • Ketika CPU mengakses memori maka system penyimpanan akan mengirim alamat fisik ke cache
    • Membandingkan alamat fisik tersebut dengan semua tag alamat untuk mengetahui apakah ia menyimpan kopi dari sebuah data.
    • Cache HIT adalah situasi yang terjadi ketika peralatan meminta akses memori ke word yang telah ada didalam memori cache tersebut secara cepat megembalikan item data yang diminta.
    • Cache MISS adalah situasi yang terjadi ketika peralatan meminta akses ke data yang tidak berada dalam cache, cache akan menjemput item tersebut dari memori, dimana hal ini mebutuhkan waktu yang lebih lama dari cache hit.
    • Jika cache tidak menyimpan data, maka akan terjadi cache miss dan cache akan menyampaikan alamat ke system memori utama untuk membaca.
    • Jika data yang dating dari memori utama, maka CPU atau cache akan menyimpan kopinya dengan diberi tag alamat yang tepat.

· Ada 2 sebab mengapa cache bekerja dengan baik :

§ Cache beroperasi secara paralel dengan CPU

- Word tambahan yang dimuatkan setelah terjadi cache miss tidak akan mengganggu kinerja CPU.

§ Prinsip Lokalitas Referensi

- CPU akan meminta data baru

· Setiap cache mempunyai dua sub system yaitu :

§ Tag Subsystem

- Menyimpan alamat dan menentukan apakah ada kesesesuaian data yang diminta.

§ Memory subsistem

- Menyimpan dan mengantarkan data.

  • Memori Cache menggunakan teknik pemetaan yang berbeda untuk memetakan alamat memori ke dalam alamat lokalnya, yaitu :

§ Cache Asosiatif

- Disebut juga Fully Associative Cache.

- Menyimpan tagnya di dalam memori asosiatif atau memori yang ekuivalen secara fungsional

- Cache dapat menempatkan sembarang jalur refill selama akses memori

- Membandingkan alamat yang ada dengan semua alamat yang disimpan

§ Direct Mapped Cache (Cache yang dipetakan langsung)

- Membagi memory utama menjadi K kolom dengan N refill line per kolomnya

§ Set Cache Asosiatif

- Mengkombinasikan organisasi asosiatif dan direct (langsung)

- Mengorganisir memori utama dan memorinya sendiri menjadi kolom jalur refil N

§ Sector Mapped Cache (Cache yang dipetakan sector)

- Merupakan modifikasi dari cache asosiatif

- Jalur refill memori utama dan cache dikelompokan menjadi sector yang disebut row(baris)

VI. MEMORI VIRTUAL

  • Ada 2 teknik yang digunakan memori virtual utnuk memetakan alamat efektif kedalam alamat fisik yaitu :

§ Paging

- Adalah teknik yang berorientasi hardware untuk mengelola memori fisik

- Menggunakan paging agar program besar dapat berjalan pada komputer yang mempunyai fisik kecil.

- Hardware memori virtual membagi alamat logis menjadi 2 yaitu virtual page number dan word offset.

- Membagi alamat logis dan memori menjadi page yang berukuran tertentu.

§ Segmentasi

- Adalah teknik yang berorientasi pada struktur logis dari suatu program.

- Membagi alamat logis dan memori menjadi page yang ukuran berubah-ubah.

- Segmen yang berisi kode prosedur disebut kode segmen dan yang berisi data disebut data segmen

Perbedaan Paging dengan Segmentasi adalah :

§ Paging berorientasi pada hardware dan segmentasi pada struktur logis dari suatu program.

§ Segmen cenderung jauh lebih besar dari paging.

§ Segmen mempunyai jangkauan ukuran page dan page hanya mempunyai satu ukuran tertentu untuk suatu system tertentu.

§ Dalam segmentasi seluruh program tidak perlu dibuat sebagai modul tunggal untuk diisikan ke dalam memori sebagai sebuah unit

§ Dalam segmentasi, alamat logis mempunyai 2 bagian, yaitu segement number dan byte offset.

VII. MASALAH DESIGN MEMORI

  • Kecepatan Memori lawan kecepatan CPU :

§ Awal tahun 1960 – 1980, kecepatan memori dan CPU meningkat, namun rasio keseluruhan antara keduanya relatif.

§ Pada era ini kecepatan memori biasanya kurang lebih 10 kali lebih lambat dari kecepatan CPU.

§ CDC:6600, 7600, CRAY 1 dan CRAY X-MP untuk super komputer waktu akses memorinya 10 sampai 14 waktu siklus CPU.

§ VAX 11/780, 8600 dan 8700 untuk mini computer waktu akses memorinya 4 sampai 7 kali siklus CPU

§ Pertengahan tahun 1980, kecepatan CPU jauh lebih meningkat hingga 50 kali kecepatan memori, contoh CRAY

§ Keuntungan dari perubahan ini adalah :

§ Memori besar umumnya memerlukan hardware khusus untuk mendeteksi dan mengoreksi kesalahan, yang menambah waktu akses memori efektif.

§ CPU yang paling cepat merupakan pipelined.

  • Ruang Alamat Memori :

§ Semakin besar ruang alamat memori yang disediakan maka akan semakin baik namun harus diperhatikan pula bahwa dalam perubahan tersebut tidak harus merubah secara keseluruhan dan mendasar daripada arsitektur yang telah dibangun.

  • Keseimbangan antara kecepatan dan biaya :

§ Sifat dari Teknologi Memori

- Harga unitnya turun dengan sangat cepat, sedangkan kecepatannya secara perlahan meningkat.

- Adanya berbagai kecepatan dan biaya dalam peralatan memori

§ Ada tiga penggunaan teknologi RAM dalam system computer untuk memanfaatkan variasi ini adalah :

- Peralatan lambat, murah untuk memori utama

- Peralatan cepat untuk cache

- Peralatan sangat cepat, mahal untuk register

  • Memori dalam system computer dapat dibagi menjadi tiga kelompok, yaitu :
    1. Internal Processor Memory
    2. Main Memory (Primary Memory)
    3. Secondary Memory (Auxiliary/Backing Memory)
  • Karakteristik Memori :

§ Access Time

§ Access Modes

§ Alterability

§ Permanence of Storage

§ Cycle Time and Data Transfer Rate

§ Physical Characteristics

  • Metode Akses :

§ Random Access Memory

Lokasi memori dapat dicapai secara acak dan waktu akses tidak bergantung pada lokasi yang sedang diakses

§ Serial Access Memory

Mekanisme akses digunakan bersama-sama oleh seluruh lokasi

VII. CAM

2. CAM (Content Addressable Memory)

Pada CAM, memori diakses berdasarkan isi, bukan alamat. Pencarian data dilakukan secara simultan dan paralel dengan basis isi memori. CAM disebut juga sebagai memori Asosiatif.

- Implementasi memory utama

1.MEMORY STACK

2.MEMORY MODULAR

3.MEMORY VIRTUAL

1. memory stack

Stack dapat dibayangkan sebagai sebuah blok dari memori yang dapat memuat data secara dinamis.

Text Box: Arah stack membesarText Box: Arah memori membesar


msb

lsb

Gambar 1. Blok memori stack pada prosesor Intel

Beberapa hal yang harus diketahui pada prosesor Intel sehubungan dengan stack adalah :

1. Penggunaan metoda Big Edian dalam mengorganisasikan sistem memori. Di sini MSB (Most Significant Bit) terletak pada alamat memori yang lebih kecil dibandingkan LSB (Least Significant Bit).

2. Penambahan besar stack dilakukan kearah alamat memori yang lebih kecil. Di sini posisi bawah dari stack mempunyai alamat yang tetap. Posisi atas stack yang alamat memorinya lebih kecil dari posisi bawah selalu berubah.

3. Register stack pointer (SP) selalu menunjuk ke posisi atas dari stack.

4. Untuk memindahkan data ke stack digunakan instruksi PUSH yang secara otomatis akan menurunkan nilai SP sebesar 4 byte. Sedangkan untuk mengambil data dari stack digunakan instruksi POP yang secara otomatis juga akan menaikkan nilai SP sebesar 4 byte.

Gambar 1 memperlihatkan diagram dari sebuah memori stack dari prosesor Intel.

Blok memori dari stack ini biasanya di bagi lagi menjadi apa yang disebut dengan stack frame. Setiap stack frame berisi data yang berhubungan dengan pemanggilan sebuah fungsi. Biasanya posisi awal dari frame ini akan ditunjuk oleh frame pointer (FP). Dengan bantuan FP ini, maka pengaksesan ke variabel lokal maupun parameter fungsi dapat dilakukan menggunakan sistem pengalamatan relatif. Pada prosesor Intel, register EBP berfungsi sebagai frame pointer.

Cara Kerja Stack

Untuk lebih mengerti bagaimana cara kerja stack pada pemanggilan suatu fungsi, sebagai contoh akan dibuat program kecil dalam bahasa C, dan kemudian akan dikonversikan ke dalam bahasa assembly.

# coba1.c

#include

void fungsi(int satu, int dua)

{

int buffer[2];

buffer[0]=satu;

buffer[1]=dua;

}

int main()

{

fungsi(1,2);

return 0;

}

Untuk menghasilkan kode assembly dapat digunakan program gcc dengan menyertakan option –S saat mengkompilasi file di atas :

$ gcc –S –o coba1.s coba1.c

Di fungsi main() pemanggilan fungsi fungsi() diubah ke dalam bahasa assembly sebagai berikut :

push $2

Push $1

call fungsi


Buffer[0]

Buffer[1]

EBP

RET

satu

dua

Gambar 2. Blok memori dari stack pada pemanggilan fungsi

Sebelum memanggil fungsi fungsi() dua buah argumen sebagai parameter ditambahkan ke stack. Instruksi call di atas secara implisit juga akan menyimpan instruction pointer (IP) ke stack. IP ini selanjutnya akan di sebut dengan return address (RET).

Kode assembly yang di bangkitkan pada fungsi fungsi();

1. pushl %ebp

2. movl %esp, %ebp

3. subl $24,%esp

Baris pertama akan menyimpan frame pointer EBP ke stack untuk kemudian di baris kedua menggunakan SP sebagai frame pointer yang aktual. Pada baris ketiga 24 byte memori untuk variabel lokal buffer[ ] dialokasikan di stack, walau hanya 8 byte yang digunakan.

1. movl 8(%ebp), %eax

2. movl %eax, -8(%ebp)

3. movl 12(%ebp), %eax

4. movl %eax, -4(%ebp)

Baris diatas adalah pengesetan variabel buffer [ ] dengan parameter dari fungsi. Seperti telihat pada baris pertama, pengaksesan ke parameter satu di stack dilakukan dengan pengalamatan relatif terhadap frame pointer EBP. Setelah nilai ini disimpan di register EAX maka dengan cara yang sama nilai ini di simpan ke stack yang jaraknya –8 byte terhadap frame pointer EBP (baris kedua). Stack ini identik dengan variable buffer[0]. Baris ketiga dan keempat melakukan hal yang sama untuk parameter dua. Dari uraian diatas, maka blok memori stack dapat dilukiskan seperti gambar 2.

Seperti yang sudah dikemukakan diatas, prosesor yang digunakan adalah Intel x86 yang menggunakan bus 32-bit atau 4 byte dalam pengaksesan ke memori, sehingga pengalamatan ke memori selalu merupakan kelipatan 4 byte, sedangkan besar dari tipe data int dan pointer adalah 4 byte juga.

Dari gambar diatas terlihat jelas bahwa memori parameter fungsi mempunyai jarak relatif yang positif terhadap frame pointer EBP, sedangkan variable local seperti buffer mempunyai jarak relatif yang negatif.

Jika variable lokal merupakan sebuah array, maka array dengan indeks terkecil mempunyai alamat memori yang paling kecil juga. Dengan kata lain elemen variable array di simpan dengan indeks membesar ke arah alamat memori yang juga membesar. Pada stack, ini adalah arah ke posisi bawah dari blok memori stack. Sifat stack inilah yang memungkinkan terjadinya buffer overflow.

2. Memory modular

Dalam memori modular, RAM dipisah menjadi modulmodul yang berbeda, yaitu MAR dan MBR.

Penggunaan memori modular biasanya pada system dengan prosesor pipeline dan prosesor array.

3. Memory virtual

Prinsip dasar kemampuan untuk penyimpanan logikal lebih besar daripada ruang penyimpanan riil.

- PEMBANTU

1.PITA MAGNETIK

2.DISK

3.FLOPPY DISK

1. PITA MAGNETIK

- Merupakan suatu lajur plastik tipis, lebar 1/2 inci, yang dilapisi dengan perekaman magnetik.

- Biasa terbagi menjadi 7/9 track searah panjang pita

- Kerapatan rekaman (bpi) yaitu 800, 1600, dan 6250 bpi.

- Terdapat satu bit paritas untuk pendeteksian kesalahan.

- Merupakan sistem SAM (Sequential Access Memory) yaitu data ditulis sesuai urutan pemunculannya.

2. DISK

- Merupakan sebuah lembaran datar (platter)

- Terdiri atas : sebuah disk drive, sebuah kendali disk (interface), dan satu atau lebih disk (platter).

- Proses penulisan ke disk yaitu disk drive akan menimbulkan kemagnetan pada titik di atas permukaan disk yang secara langsung di bawah head.

- Proses pembacaan dan disk, head diatur agar dapat mendeteksi perubahan arah kernagnetan.

- Terbagi secara logikal dikenal sebagai organisasi disk yaitu:

Track :Sejumlah lingkaran yang konsentris

Sektor :Pembagian permukaan disk secara belahan yang mempunyal ukuran yang sama.

Silinder :Dibentuk oleh track-track yang ber hubungan pada setiap permukaan.

3. FLOPPY DISK

- Merupakan lembaran datar yang tipis dan fleksibel.

- Hampir sama dengan harddisk, tetapi kapasitas penyimpanan lebih rendah.

- ORGANISASI DISK

Telah dijelaskan diawal bahwa masalah utama sistem memori adalah mengimbangi laju kecepatan CPU. Beberapa teknologi dicoba dan dikembangkan, diantaranya menggunakan konsep akses paralel pada disk.

RAID (Redundancy Array of Independent Disk) merupakan organisasi disk memori yang mampu menangani beberapa disk dengan sistem akses paralel dan redudansi ditambahkan untuk meningkatkan reliabilitas. Karena kerja paralel inilah dihasilkan resultan kecepatan disk yang lebih cepat. Teknologi database sangatlah penting dalam model disk ini karena pengontrol disk harus mendistribusikan data pada sejumlah disk dan juga membacaan kembali. Karakteristik

umum disk RAID :

· RAID adalah sekumpulan disk drive yang dianggap sebagai sistem tunggal disk.

· Data didistribusikan ke drive fisik array.

· Kapasitas redudant disk digunakan untuk menyimpan informasi paritas, yang menjamin recoveribility data ketika terjadi masalah atau kegagalan disk.

Jadi RAID merupakan salah satu jawaban masalah kesenjangan kecepatan disk memori dengan CPU dengan cara menggantikan disk berkapasitas besar dengan sejumlah disk – disk berkapasitas kecil dan mendistribusikan data pada disk – disk tersebut sedemikian rupa sehingga nantinya dapat dibaca kembali.

RAID tingkat 0

Sebenarnya bukan RAID karena tidak menggunakan redundansi dalam meningkatkan kinerjanya. Data didistribusikan pada seluruh disk secara array merupakan keuntungan daripada menggunakan satu disk berkapasitas besar.

Sejalan perkembangan RAID – 0 menjadi model data strip pada disk dengan suatu management tertentu hingga data sistem data dianggap tersimpan pada suatu disk logik. Mekanisme tranfer data dalam satu sektor sekaligus sehingga hanya baik untuk menangani tranfer data besar.

RAID tingkat 1

Pada RAID – 1, redundansi diperoleh dengan cara menduplikasi seluruh data pada disk mirror-nya. Seperti halnya RAID – 0, pada tingkat 1 juga menggunakan teknologi stripping, perbedaannya adalah dalam tingkat 1 setiap strip logik dipetakkan ke dua disk yang secara logika terpisah sehingga setiap disk pada array akan memiliki mirror disk yang berisi data sama. Hal ini menjadikan RAID – 1 mahal. Keuntungan RAID – 1:

· Permintaan pembacaan dapat dilayani oleh salah satu disk karena terdapat dua disk berisi data sama, tergantung waktu akses yang tercepat.

· Permintaan penyimpanan atau penulisan dilakukan pada 2 disk secara paralel.

· Terdapat back-up data, yaitu dalam disk mirror-nya.

RAID – 1 mempunyai peningkatan kinerja sekitar dua kali lipat dibandingkan RAID – 0 pada operasi baca, namun untuk operasi tulis tidak secara signifikan terjadi peningkatan. Cocok digunakan untuk menangani data yang sering mengalami kegagalan dalam proses pembacaan. RAID – 1 masih bekerja berdasarkan sektor – sektornya.

RAID tingkat 2

RAID – 2 mengganakan teknik akses paralel untuk semua disk. Dalam proses operasinya, seluruh disk berpartisipasi dan mengeksekusi setiap permintaan sehingga terdapat mekanisme sinkronisasi perputaran disk dan headnya. Teknologi stripping juga digunakan dalam tingkat ini, hanya stripnya berukuran kecil, sering kali dalam ukuran word atau byte. Koreksi kesalahan menggunakan sistem bit paritas dengan kode Hamming. Cocok digunakan untuk menangani sistem yang kerap mengalami kesalahan disk.

RAID tingkat 3

Diorganisasikan mirip dengan RAID – 2, perbedaannya pada RAID – 3 hanya membutuhkan disk redudant tunggal, tidak tergantung jumlah array disknya. Bit paritas dikomputasikan untuk setiap data word dan ditulis pada disk paritas khusus. Saat terjadi kegagalan drive, data disusun kembali dari sisa data yang masih baik dan dari informasi paritasnya.

RAID – 3 menggunakan akses paralel dengan data didistribusikan dalam bentuk strip – strip kecil. Kinerjanya menghasilkan transfer berkecepatan tinggi, namun hanya dapat mengeksekusi sebuah permintaan I/O saja sehingga kalau digunakan pada lingkungan transaksi data tinggi terjadi penurunan kinerja.

RAID tingkat 4

RAID – 4 menggunakan teknik akses yang independen untuk setiap disknya sehingga permintaan baca atau tulis dilayani secara paralel. RAID ini cocok untuk menangani sistem dengan kelajuan tranfer data yang tinggi. Tidak memerlukan sinkronisasi disk karena setiap disknya beroperasi secara independen. Stripping data dalam ukuran yang besar.

Strip paritas bit per bit dihitung ke seluruh strip yang berkaitan pada setiap disk data. Paritas disimpan pada disk paritas khusus. Saat operasi penulisan, array management software tidak hanya meng-update data tetapi juga paritas yang terkait. Keuntungannya dengan disk paritas yang khusus menjadikan keamanan data lebih terjamin, namun dengan disk paritas yang terpisah akan memperlambat kinerjanya.

RAID tingkat 5

Mempunyai kemiripan dengan RAID – 4 dalam organisasinya, perbedaannya adalah strip – strip paritas didistribusikan pada seluruh disk. Untuk keamanan, strip paritas suatu disk disimpan pada disk lainnya. RAID – 4 merupakan perbaikan dari RAID – 4 dalam hal peningkatan kinerjanya. Disk ini biasanya digunakan dalam server jaringan.

RAID tingkat 6

Merupakan teknologi RAID terbaru. Menggunakan metode penghitungan dua paritas untuk alasan keakuratan dan antisipasi terhadap koreksi kesalahan. Seperti halnya RAID – 5, paritas tersimpan pada disk lainnya. Memiliki kecepatan transfer yang tinggi.

B. DESIGN MEMORY

- KECEPATAN MEMORY LAWAN KECEPATAN CPU

- RUANG ALAMAT MEMORY

- KESEIMBANGAN ANTARA KECEPATAN DAN BIAYA

2. SISTEM INPUT / OUTPUT

a. ModuL I/O dan fungsi moduL I/O

n Modul I/O

1. Interface dengan CPU dan memori

2. Interface ke satu atau lebih peripheral

n Fungsi Modul I/O :

1. Control dan Timing

2. Komunikasi CPU

3. Device untuk komunikasi

4. Data Buffering

5. Deteksi Error

Modul I/O adalah suatu komponen dalam sistem komputer yang bertanggung jawab atas pengontrolan sebuah perangkat luar atau lebih dan bertanggung jawab pula dalam pertukaran dataantara perangkat luar tersebut dengan memori utama ataupun dengan register – register CPU.Dalam mewujudkan hal ini, diperlukan antarmuka internal dengan komputer (CPU danmemoriutama) dan antarmuka dengan perangkat eksternalnya untuk menjalankan fungsi – fungsi pengontrolan.Fungsi dalam menjalankan tugas bagi modul I/O dapat dibagi menjadi beberapa katagori,yaitu:

• Kontrol dan pewaktuan.• Komunikasi CPU.• Komunikasi perangkat eksternal.• Pem-buffer-an data.• Deteksi kesalahan.Fungsi kontrol dan pewaktuan (

control & timing

) merupakan hal yang penting untuk mensinkronkan kerja masing – masing komponen penyusun komputer. Dalam sekaliwaktu CPU berkomunikasi dengan satu atau lebih perangkat dengan pola tidak menentu dankecepatantransfer komunikasi data yang beragam, baik dengan perangkat internal seperti register – register,memori utama, memori sekunder, perangkat peripheral. Proses tersebut bisa berjalanapabila adafungsi kontrol dan pewaktuan yang mengatur sistem secara keseluruhan. Contoh kontrol pemindahan data dari peripheral ke CPU melalui sebuah modul I/O dapat meliputilangkah – langkah berikut ini :681 Permintaan dan pemeriksaan status perangkat dari CPU ke modul I/O.2 Modul I/O memberi jawaban atas permintaan CPU.3 Apabila perangkat eksternal telah siap untuk transfer data, maka CPU akanmengirimkan perintah ke modul I/O.4 Modul I/O akan menerima paket data dengan panjang tertentu dari peripheral.5 Selanjutnya data dikirim ke CPU setelah diadakan sinkronisasi panjang data dankecepatan transfer oleh modul I/O sehingga paket – paket data dapat diterima CPUdengan baik.Transfer data tidak akan lepas dari penggunaan sistem bus, maka interaksi CPU danmodul I/O akan melibatkan kontrol dan pewaktuan sebuah arbitrasi bus atau lebih.Adapun fungsi komunikasi antara CPU dan modul I/O meliputi proses – proses berikut :•

Command Decoding

, yaitu modul I/O menerima perintah – perintah dari CPU yangdikirimkan sebagai sinyal bagi bus kontrol. Misalnya, sebuah modul I/O untuk disk dapat menerima perintah: Read sector, Scan record ID, Format disk.•

Data,

pertukaran data antara CPU dan modul I/O melalui bus data.•

Status Reporting,

yaitu pelaporan kondisi status modul I/O maupun perangkat peripheral, umumnya berupa status kondisi

Busy

atau

Ready

. Juga status bermacam – macam kondisi kesalahan (

error

).•

Address Recognition,

bahwa peralatan atau komponen penyusun komputer dapatdihubungi atau dipanggil maka harus memiliki alamat yang unik, begitu pula pada perangkat peripheral, sehingga setiap modul I/O harus mengetahui alamat peripheralyang dikontrolnya.Pada sisi modul I/O ke perangkat peripheral juga terdapat komunikasi yang meliputikomunikasi data, kontrol maupun status. Perhatikan gambar 6.2 berikut.Gambar 6.2 Skema suatu perangkat peripheral69Fungsi selanjutnya adalah

buffering

. Tujuan utama

buffering

adalah mendapatkan

penyesuaian data sehubungan perbedaan laju transfer data dari perangkat peripheraldengankecepatan pengolahan pada CPU. Umumnya laju transfer data dari perangkat peripherallebihlambat dari kecepatan CPU maupun media penyimpan.Fungsi terakhir adalah deteksi kesalahan. Apabila pada perangkat peripheral terdapatmasalah sehingga proses tidak dapat dijalankan, maka modul I/O akan melaporkankesalahantersebut. Misal informasi kesalahan pada peripheral printer seperti: kertas tergulung, pintahabis,kertas habis, dan lain – lain. Teknik yang umum untuk deteksi kesalahan adalah penggunaan bit paritas.

b.langkah-langkah penanganan I/O

1. CPU mengecek staus modul I/O Device

2. I/O module mengirimkan statusnya

3. Jika ready, CPU meminta transfer data

4. I/O modul mengambil data dari device

5. I/O modul transfer data ke CPU dalam variasi output yang diinginakan

c. Metode pengaksesan I/O

n Piranti yang dihubungkan sebagai lokasi terpisah dari lokasi memori, sehingga port I/O tidak tergantugn pada keadaan memori utama

n Karakteristik :

1. Port I/O :tidak tergantung memori utama

2. Transfer Informasi : di bawah sinyal kontrol dengan I/O

3. Operasi I/O : tergantung sinyal kendali dari CPU

4. Jenis Instruksi : Instruksi I/O dan Instruksi Memory

5. Ruang memori dan ruang alamat I/O bisa saja memiliki alamat yang sama

6. Lebih cepat dan efesien

d. metode operasi system I/O

1. I/O Terprogram

n CPU mengendalikan operasi I/O secara keseluruhan dengan menjalankan serangkaian instruksi I/O dengan program tertentu

n Karakteristik :

1. Terdapat program untuk memulai-mengarahkan-

menghentikan operasi I/O

2. Membutuhkan perangkat keras register,Register status, register buffer register point buffer dan register counter data

3. perlu waktu proses yang menyita waktu pemanfaatan CPU

2. I/O Instruksi (Demand Driven)

n CPU akan bereaksi ketika suatu piranti mengeluarkan

permintaan untuk pelayanan

n Karakteristik :

1. Lebih efesian dalam pemanfaatan CPU

2. Menunggu interupsi dari piranti I/O

3. Ada 2 metode pemilihan prioritas layanan :

polling dan vector interrupt

3. Direct Memory Access (DMA)

n Metode transfer data secara langsung antara memori dan piranti dan pengendalian CPU

n Hanya dapat dilakukan pada piranti I/O berkecepatan tinggi dan mampu mentransfer data besar dalam waktu singkat

n Metode :

1. CPU hanya menginisialisasi saluran DMA

2 DMA Controller mengendalikan transfer data

dengan cara : skema transfer blok DMA dual port dan skema transfer DMA cycle stealing

e.Transfer Data

1. Format Transfer

a. Paralel : semua bit pada karakter dikirim secara bersamaan

dalam batas waktu tranmisi tertentu

b. Serial : data dikirm secara berurutan dalam satu baris

komnikasi tunggal, sehingga antara pengirim dan

penerima harus membagi batas waktu pengiriman

karakter menjadi beberapa sub interval pengiriman

Transfer paralel lebih cepat karena memiliki saluran tranmisi yang banyak, tapi tidak bisa diterapkan pada jarak yang terlalu panjang, karena dapat terjadi interfensi anatar saluran

2. Mode Transfer

a. Synchronous :

Kecepatan piranti I/0 yang bervariasi sedang data yang dikirim secar serial dan bergantian dalam periode yang sudah diterapkan, maka kecepatan transfer di set pada piranti I/O dengan kecepatan rendah

b. Asynchronous

Proses back and forth dalam meneruskan sinyal kendali dari pengirim ke penerima

f. Format tRansfer Data

1. Format Transfer
a. Paralel : semua bit pada karakter dikirim secara bersamaan dalam batas waktu tranmisi tertentu
b. Serial : data dikirm secara berurutan dalam satu baris komnikasi tunggal, sehingga antara pengirim dan penerima harus membagi batas waktu pengiriman karakter menjadi beberapa sub interval pengiriman

Transfer paralel lebih cepat karena memiliki saluran tranmisi yang banyak, tapi tidak bisa diterapkan pada jarak yang terlalu panjang, karena dapat terjadi interfensi anatar saluran
TRANSFER DATA PADA SISTEM I/O
2. Mode Transfer
a. Synchronous :
Kecepatan piranti I/0 yang bervariasi sedang data yang dikirim secar serial dan bergantian dalam periode yang sudah diterapkan, maka kecepatan transfer di set pada piranti I/O dengan kecepatan rendah
b. Asynchronous
Proses back and forth dalam meneruskan sinyal kendali dari pengirim ke penerima
INTERFACING I/O
Suatu alat yang digunakana untuk menghubungkan suatu piranati dengan CPU melalui BUS

Fungsi Umum:
Mensinkronkan data transfer antara CPU dan piranti I/O
INTERFACING I/O
Fungsi Detail :
1. Penyedia status piranti I/O bagi CPU
2. Memiliki kemampuan interupsi / DMA
3. Mampu mentransfer instruksi

MODE TRANSFER

a.Synchronous : Baris kendali dipakai untuk emsinkronkan waktu pada semua kejadian yang terjadi selama periode tertentu. Setiap piranti harus bereaksi dengan kecepatan yang sama pada periode yang diberikan CPU. Namun karena kecepatan piranti I/O yang bervariasi sedang data dikirim secara serial dan bergantian dalam periode yang sudah ditetapkan, maka kecepatan transfer di set pada piranti I/O dengan kecepatan terendah.

b.As ync hr onous : Proses back-and-forth (pulang-pergi) dalam meneruskan sinyal kendali dari pengirim ke penerima. Tekniknya bernama handshaking dengan melakukan terlebih dahulu pengecekan validitas data yang akan transfer. Kelemahan : perlu banyak kendali. Kelebihan : memungkinkan penggunaan piranti I/O yang memiliki berbagai variasi kecepatan dalam sistem yang sama.

g.interfacing firanti I/O

Strukrur Interface :

1. Register :

Kendali (CR) :mencatat instruksi dan informasi dalam piranti

Status (SR) : mencatat status piranti dan mengeluarkan pesan kesalahan

Data Input (IDR) dan Data Ouput : sebagai buffer data untuk operasi input dan output

2. BUS

Receiver : menangani data input

Transciever : sirkuit bidirectional data menangani input maupun output

Driver / Buffer Bus : sirkuit tri state yang menyimpan informasi bus

Defenisi : Suatu alat yang digunakan untuk

menghubungkan suatu piranti dengan CPU melalui BUS.

Fungsi Umum : Mensinkronkan data transfer antara CPU

dan piranti I/O

Fungsi Detail :

Penyedia status piranti I/O bagi CPU
Memiliki kemampuan interupsi / DMA
Mampu me-transfer instruksi CPU ke piranti
Mampu berfungsi sebagai buufer storage data transfer.
Mampu melakukan pengujian kesamaan data.
Mampu men-decode dan mgng-encode data
Memiliki fasilitas khusus :

Konversi data paralel-ke-serial dan sebaliknya.
Encoding karakter ketik ke VDU.
Encoding karakter ketik tertentu : F1, F2,

BACKSPC, DELETE dan sebagainya.

Menyediakan sinyal status operasi.

Komponen Utama Interface Piranti I/O :

1. Device dependent bagian yang melayani piranti

2. Device independent bagian yang menghubungkan

unit interface ke bus sistem.

Struktur Interface Piranti I/O :

1. Register

kendali (CR) mencatat instruksi dan informasi

dalam piranti.

Status (SR) mencatat status piranti dan

mengeluarkan pesan kesalahan

Data input (IDR) dan data output (ODR) sebagai

buffer data untuk operasi input dan output.

2. Bus

Receiver menangani data input

Transciever sirkuit bi-directional data menangani

input maupun output

driver/buffer bus sirkuit tri-state yang menyimpan

informasi bus

h. system prosesor I/O

n General Purpose komputer yang berisi sejumlah saluran DMA, CPU tersendiri dan menjalankannya secara paralel

n Fungsi :

Sebagai piranti front end yang menangani setiap aspek I/O dan menyediakan pengendali I/O khusus yang disebut I/O Channel

Instruksi IOP :

1. Instruksi transfer data untuk Input (pembacaan),

output (penulisan) dan untuk membaca informasi status.

2. Instruksi general purpose instruksi aritmatika, logika, percabangan (konversi, prioritas operasi, evaluasi alamat, jump instruksi)

3. Instrusksi kendali instruksi untuk menangani fungsi piranti I/O khusus yang tidak terlibat dalam transfer data. Contoh : pmemindahkan head R/W untuk menentukan lokasi track dan record pada disk, mencetak pindah baris pada printer, dan-lain-lain.

Mode IOP :

1. Single shared Bus setiap IOP mengendalikan

sejumlah piranti I/O tertentu yang tetap

Gambar : Single Share Bus

2. Switching matriks bus pensaklaran yang memungkinkan transfer bersamaan antara I/O dan modul memori.

Gambar : Switching Matriks Bus

Format Instruksi IOP :

1. Field opcode representasi jenis operasi

2. field alamat memori alamat awal blok memori yang

digunakan untuk transfer.

3. field word count jumlah word yang harus ditransfer

(panjang blok memori).
4. field kendali
untuk fungsi-fungsi piranti I/O khusus.
5. Field status
untuk tujuan komunikasi dan pencatatan.


PERTEMUAN MINGGU KE-7

ocw.gunadarma.ac.id/course/industrial.../program-of.../sistem-i-o

kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/.../bahan-bab7.pdf

www.ppt2txt.com/r/972f54f7/

staffsite.gunadarma.ac.id/

wahyukr.staff.gunadarma.ac.id/Downloads/files/

belrdh.wordpress.com/2011/03/25/klasifikasi-memori/

iwayansudana.files.wordpress.com

rmardiana.blogspot.com/2011/06/raid-dan-tingkatannya.html

kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi

kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi