Senin, 28 November 2011

SISTEM MEMORI

 
SISTEM MEMORI

Klasifikasi memori
Utama
1. RAM (Random Access Memori)
RAM diakses melalui alamat, semua lokasi yang dapat dialamati dapat diakses secara acak (random) dan membutuhkan waktu akses yang sama tanpa tergantung pada lokasi fisiknya di dalam memori. Terdapat dua jenis RAM, statik
dan dinamik.
RAM dinamik tersusun oleh sel-sel yang menyimpan data sebagai muatan Iistrik pada kapasitor.
RAM statik menyimpan nilai-nilai biner dengan menggunakan konfigurasi gerbang logika flipflop.
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.
3. MEMORI CACHE
Memori utama yang digunakan sistem komputer pada awalnya dirasakan masih lambat kerjanya dibandingkan dengan kerja CPU, sehingga perlu dibuat sebuah memori yang dapat membantu kerja memori utama tersebut. Sebagai perbandingan waktu akses memori cache lebih cepat 5 sampai 10 kali dibandingkan memori utama.

Implementasi Memori Utama
1. Memori Stack
Memori Stack merupakan struktur data tidak tetap yang digunakan untuk menyimpan alamat kembali dan parameter yang dilalui dalam subroutine call dan return, memanipulasi alamat serta operasi aritmatika.


Pada gambar diatas, perintah PUSH berguna untuk memanipulasi data pada stack.
2. Memori Modular
Dalam memori modular, RAM dipisah menjadi modul modul yang berbeda, yaitu MAR dan MBR. Penggunaan memori modular biasanya pada sistem dengan prosesor pipeline dan prosesor array.


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

Memori pembantu (auxiliary memory)
- Bersifat non-volatile, yaitu jika tidak ada listrik, maka isi memori tidak hilang.
- Tidak mempengaruhi langsung fungsi CPU. Yang termasuk memori ini adalah:
• 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.

• Disk Magnetik
- 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.

• 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 lajukecepatan CPU. Beberapa teknologi dicoba dan dikembangkan, diantaranya menggunakankonsep akses paralel pada disk.
RAID (Redundancy Array of Independent Disk) merupakan organisasi disk memori yangmampu menangani beberapa disk dengan sistem akses paralel dan redudansi ditambahkan untukmeningkatkan reliabilitas. Karena kerja paralel inilah dihasilkan resultan kecepatan disk yanglebih cepat. Teknologi database sangatlah penting dalam model disk ini karena pengontrol diskharus mendistribusikan data pada sejumlah disk dan juga membacaan kembali. Karakteristikumum 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 memoridengan 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.
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.




                          http://arlis.ngeblogs.com/2011/10/24/
                          http://www.4shared.com/get/nTJ3iM_t/5_Sistem_Memori_Komputer.html
                          http://staffsite.gunadarma.ac.id


Jumat, 28 Oktober 2011

ORGANISASI DAN ARSITEKTUR KOMPLEKS Pertemuan ke 2


Arsitektur Set Instruksi

Operasi dari CPU ditentukan oleh instruksi-instruksi yang dilaksanakan atau dijalankannya. Instruksi ini sering disebut sebagai instruksi mesin (mechine instructions) atau instruksi komputer (computer instructions).Kumpulan dari instruksi-instruksi yang berbeda yang dapat dijalankan oleh CPU disebut set Instruksi (Instruction Set).
Jenis Instruksi
1.             Data processing: Arithmetic dan  Logic Instructions
2.             Data storage: Memory instructions
3.             Data Movement: I/O instructions
4.             Control: Test and branch instructions
Transfer Data
Ø  Menetapkan lokasi operand sumber dan operand tujuan.
Ø  Lokasi-lokasi tersebut dapat berupa memori, register atau bagian paling atas daripada stack.
Ø  Menetapkan panjang data yang dipindahkan.
Ø  Menetapkan mode pengalamatan.
Tindakan CPU untuk melakukan transfer data adalah :
 a. Memindahkan data dari satu lokasi ke lokasi lain.
 b. Apabila memori dilibatkan :
       >  Menetapkan alamat memori.
       >  Menjalankan transformasi alamat memori virtual ke alamat memori aktual.
       >  Mengawali pembacaan / penulisan memori
Operasi set instruksi untuk transfer data :
n  MOVE : memindahkan word atau blok dari sumber ke tujuan
n  STORE : memindahkan word dari prosesor ke memori.
n  LOAD : memindahkan word dari memori ke prosesor.
n  EXCHANGE : menukar isi sumber ke tujuan.
n  CLEAR / RESET : memindahkan word 0 ke tujuan.
n  SET : memindahkan word 1 ke tujuan.
n  PUSH : memindahkan word dari sumber ke bagian paling atas stack.
n  POP : memindahkan word dari bagian paling atas sumber
INPUT / OUTPUT
n  Tindakan CPU untuk melakukan INPUT /OUTPUT :
     1. Apabila  memory mapped I/O maka menentukan alamat  memory mapped.
     2. Mengawali perintah ke modul I/O
n  Operasi set instruksi Input / Ouput :
     1. INPUT               : memindahkan data dari pernagkat I/O tertentu ke  tujuan
     2. OUTPUT           : memindahkan data dari sumber tertentu ke perangkat I/O
     3. START I/O        : memindahkan instruksi ke prosesor I/O untuk mengawali operasi I/O
     4. TEST I/O           : memindahkan informasi dari sistem I/O ke tujuan
LOGICAL
n  Tindakan CPU sama dengan arithmetic
n  Operasi set instruksi untuk operasi logical :
     1. AND, OR, NOT, EXOR
     2. COMPARE : melakukan perbandingan logika.
     3. TEST            : menguji kondisi tertentu.
     4. SHIFT          : operand menggeser ke kiri atau kanan menyebabkan konstanta pada ujung bit.                                                      
     5. ROTATE     : operand menggeser ke kiri atau ke kanan dengan  ujung yang terjalin.
ARITHMETIC
n  Tindakan CPU untuk melakukan operasi arithmetic :
     1. Transfer data sebelum atau sesudah.
     2. Melakukan fungsi dalam ALU.
     3. Menset kode-kode kondisi dan flag.
n  Operasi set instruksi untuk arithmetic :
    1. ADD       : penjumlahan              5. ABSOLUTE
    2. SUBTRACT : pengurangan        6. NEGATIVE
    3. MULTIPLY : perkalian              7. DECREMENT
    4. DIVIDE : pembagian                 8. INCREMENT
    Nomor 5 sampai 8 merupakan instruksi operand tunggal.

Teknik Pengalamatan
Mode pengalamatan merujuk pada bagaimana pemrogram mengalamati suatu lokasi memori. Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi immediate addressing, direct addressing, dan indirect addressing.
Immediate Addressing
Mode pengalamatan immediate addressing sangat umum dipakai karena harga yang akan disimpan dalam memori langsung mengikuti kode operasi dalam memori. Dengan kata lain, tidak diperlukan pengambilan harga dari alamat lain untuk disimpan. Contohnya: MOV A,#20h. Dalam instruksi tersebut, akumulator akan diisi dengan harga yang langsung mengikutinya, dalam hal ini 20h. Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.
Direct Addressing
Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data dari RAM internal dengan alamat 30h dan kemudian disimpan dalam akumulator. Mode pengalamatan ini cukup cepat, meskipun harga yang didapat tidak langsung seperti immediate, namun cukup cepat karena disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan mode ini daripada mode immediate karena harga yang didapat bisa dari lokasi memori yang mungkin variabel.
Indirect Addressing
Mode pengalamatan indirect addressing sangat berguna karena dapat memberikan fleksibilitas tinggi dalam mengalamati suatu harga. Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada keluarga 8052. Contoh: MOV A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang berada pada alamat memori yang ditunjukkan oleh isi dari R0 dan kemudian mengisikannya ke akumulator.
DESAIN SET INSTRUKSI

Desain set instruksi merupakan masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya adalah:
1. Kelengkapan set instruksi
2. Ortogonalitas (sifat independensi nstruksi)

3. Kompatibilitas :
- Source code compatibility
- Object code Compatibility

Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
1.Operation Repertoire
2.Data Types
3.Register
4.Addressing


CPU
CPU berfungsi sebagai pusat pengolahan dan eksekusi data berdasarkan routine–routine program yang diberikan padanya. CPU mengendalikan seluruh sistem komputer sehingga sebagai konsekuensinya memiliki koneksi ke seluruh modul yang menjadi bagian sistem komputer.
Sistem BUS
  1. Penghubung bagi keseluruhan komponen komputer dalam menjalankan tugasnya
  2. Komponen komputer :
  1. CPU
  2. Memori
  3. Perangkat I/O
  4. BUS adalah
Bus adalah Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk  menghubungkan berbagai subsistem
Interkoneksi Bus – Struktur Bus
Sebuah bus biasanya terdiri atas beberapa saluran. Sebagai contoh bus data terdiri atas 8 saluran sehingga dalam satu waktu dapat mentransfer data 8 bit. Secara umum fungsi saluran bus dikatagorikan dalam tiga bagian, yaitu :
  • Saluran data
  • Saluran alamat
  • Saluran kontrol
Saluran Data
Lintasan bagi perpindahan data antar modul. Secara kolektif lintasan ini disebut bus data. Umumnya jumlah saluran terkait dengan panjang word, misalnya 8, 16, 32 saluran.
Tujuan : agar mentransfer word dalam sekali waktu.
Jumlah saluran dalam bus data dikatakan lebar bus, dengan satuan bit, misal lebar bus 16 bit
Saluran Alamat (Address Bus)
  • Digunakan untuk menspesifikasi sumber dan tujuan data pada bus data.
  • Digunakan untuk mengirim alamat word pada memori yang akan diakses CPU.
  • Digunakan untuk saluran alamat perangkat modul komputer saat CPU mengakses suatu modul.
  • Semua peralatan yang terhubung dengan sistem komputer, agar dapat diakses harus memiliki alamat.
Contoh : mengakses port I/O, maka port I/O harus memiliki alamat hardware-nya
Saluran kontrol (Control Bus)
Digunakan untuk mengontrol bus data, bus alamat dan seluruh modul yang ada.
Karena bus data dan bus alamat digunakan oleh semua komponen maka diperlukan suatu mekanisme kerja yang dikontrol melalui bus kontrol ini.
Sinyal – sinyal kontrol terdiri atas
  • Sinyal pewaktuan adalah Sinyal pewaktuan menandakan validitas data dan alamat
  • Sinyal–sinyal perintah adalah Sinyal perintah berfungsi membentuk suatu operasi
Type BUS
1. Dedicated
            Penggunaan alamat terpisah dan jalur Keuntungan : Throughtput yang tinggi, karena kemacetan lalulintas kecil
Kerugian : meningkatnya  ukuran dan biaya sistem
2. Multiplexed
Penggunnan saluran yang sama untuk berbagai  keperluan Keuntungan : Memerlukan saluran yang lebih sedikit, uang menghemat ruang dan biaya
   Kerugian : Diperlukan rangkaian yang lebih kompleks untuk setiap modul .

ALU (Arithmetic and Logical Unit)
ALU melaksanakan seluruh perhitungan (penambahan, pengurangan, perkalian atau pembagian) dan operasi logika. ALU berfungsi melakukan operasi aritmatik dan logik yang terbagi menjadi empat kelas, yaitu decimal arithmetic, fixed point arithmetic, floating point aritmetic dan logic operation. Terdapat dua macam bilangan yang ditangani oleh prosesor, yaitu bilangan fixed point dan bilangan floating point.
Bilangan fixed point adalah bilang yang memiliki nilai digit spesifik pada salah satu titik desimalnya, Hal ini akan membatasi jangkauan nilai yang mungkin untuk angka-angka tersebut, namun, hal ini justru dapat dihitung oleh prosesor.
Sedangkan bilangan floating point, adalah bilangan yang diwujudkan dalam notasi ilmiah, yaitu berupa angka pecahan desimal dikalikan dengan angka 10 pangkat bilangan tertentu. Misalnya: 705,2944 x 109, atau 4,3 x 10-7. Cara penulisan angka seperti ini merupakan cara singkat untuk menuliskan angka yang nilainya sangat besar maupun sangat kecil. Bilangan seperti ini banyak digunakan dalam pemrosesan grafik dan kerja ilmiah. Proses aritmatika bilangan floating point memang lebih rumit dan prosesor membutuhkan waktu yang lebih lama untuk mengerjakannya, karena mungkin akan menggunakan beberapa siklus detak (clock cycle) prosesor.
Oleh karena itu, beberapa jenis komputer menggunakan prosesor sendiri untuk menangani bilangan floating point. Prosesor yang khusus menangani bilangan floating point disebut Floating Point Unit (FPU) atau disebut juga dengan nama math co-processor. FPU dapat bekerja secara paralel dengan prosesor. Dengan demikian proses penghitungan bilangan floating point dapat berjalan lebih cepat. Keberadaan FPU integrated (bersatu dengan prosesor) sudah menjadi kebutuhan standart komputer masa kini, karena banyak sekali aplikasi-aplikasi yang beroperasi menggunakan bilangan floating point.
Unit kontrol (Control Unit)
Unit kontrol ini adalah bagian dari prosesor yang mampu mengatur jalannya program. Komponen ini terdapat dalam semua CPU. CPU bertugas mengontrol komputer sehingga terjadi sinkronisasi kerja antar komponen dalam menjalankan fungsi-fungsi operasinya. termasuk dalam tanggung jawab unit kontrol adalah mengambil intruksi-intruksi dari memori utama dan menentukan jenis instruksi tersebut. Bila ada instruksi untuk perhitungan aritmatika atau perbandingan logika, maka unit kendali akan mengirim instruksi tersebut ke ALU (Aritmathic Logic Unit). Hasil dari pengolahan data dibawa oleh unit kendali ke memori utama lagi untuk disimpan, dan pada saatnya akan disajikan ke alat output. Dengan demikian tugas dari unit kendali ini adalah:

• Mengatur dan mengendalikan alat-alat input dan output.
• Mengambil instruksi-instruksi dari memori utama.
• Mengambil data dari memori utama (jika diperlukan) untuk diproses.
• Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika.
• Mengawasi kerja dari ALU.
• Menyimpan hasil proses ke memori utama.
 Register
Register merupakan alat penyimpanan kecil yang mempunyai kecepatan akses cukup tinggi, yang digunakan untuk menyimpan data dan/atau instruksi yang sedang diproses. Memori ini bersifat sementara, biasanya di gunakan untuk menyimpan data saat di olah ataupun data untuk pengolahan selanjutnya. jika dianalogikan, register ini dapat diibaratkan sebagai ingatan di otak bila kita melakukan pengolahan data secara manual, sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan, satuan kendali yang mengatur seluruh kegiatan tubuh dan mempunyai tempat untuk melakukan perhitungan dan perbandingan logika.
Set Register : Apabila bit ini bernilai 0, maka register data dapat diupdate setiap detiknya, namun apabila bit ini bernilai 1, maka register data tidak dapat diupdate. Bit ini tidak akan berpengaruh terhadap kondisi RESET.

Register register Kontrol
- Register register untuk komunikasi dengan unit unit diluar CPU
MAR (Memory Address Register) untuk menyatakan alamat lokasi operand dalam memory yang akan dibaca atau ditulisi oleh CPU.
MBR atau MDR (Memory Buffer atau Data Register) merupakan tempat penyimpanan (sementara) data yang baru saja dibaca dari atau data yang akan dituliskan ke memory
PC (Program Counter) untuk menyatakan alamat lokasi instruksi yang akan dibaca oleh CPU dari memory.


Reference       :           http://gha-ronk.blogspot.com/
                                    http://www.scribd.com/doc/34681874/2-Set-Instruksi
                                    http://ocw.gunadarma.ac.id/course/industrial-technology/