Cari Blog Ini

Senin, 19 Mei 2014

system pengalamatan (addresing mode)



PENDAHULUAN
Di Era yang semakin canggih ini, teknologi sangat berkembang pesat khususnya komputer. Komputer di rancang untuk mempermudah dalam pekerjaan manusia. Dimulai dari pengenalan komputer pentium I, PentiumII, Pentium III, Pentium IV, dan sekarang yang lebih baru lagi yaitu laptop. Semua evolusi komputer tersebut bertujuan untuk melengkapi komputer – komputer pentium yang sebelumnya. Semakin canggih teknologi yang kita gunakan tentunya kita harus mengerti bagaimana cara kerja, juga mengerti bagian – bagian dalam komputer tersebut. Agar kita tidak hanya mampu menggunakan namun juga mampu mengatasi masalah apabila terjadi sesuatu dengan komputer kita. Untuk itu kita belajar organisasi komputer.
Komputer bekerja sesuai perintah yang di kirim ke cpu, dan di simpan di memory. Di bagian memory perintah – perintah tersebut di proses di mode – mode pengalamatan tertentu, kemudian di akses dan di tampilkan ke layar monitor. Pada kesempatan ini kami membuat makalah tentang jenis – jenis pengalamatan, kami berharap dengan pembuatan makalah ini dapat membantu dalam kami belajar  organisasi komputer.

















PEMBAHASAN
A.     Sistem Pengalamatan (Addressing Mode)
Definisi Mode Pengalamatan
         Mode pengalamatan adalah bagaimana cara menunjuk dan  mengalamati suatu lokasi memori pada  sebuah alamat di mana operand akan diambil. Mode pengalamatan diterapkan pada set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode operasi) dan alamat. Setiap mode pengalamatan memberikan fleksibilitas khusus yang sangat penting. Mode pengalamatan ini meliputi direct addressing, indirect addressing, dan immediate addressing.
1. Direct Addresing
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.
Kelebihan dan kekurangan dari Direct Addresing antara lain :
·         Kelebihan
 Field alamat berisi efektif address sebuah operand
·         Kelemahan
Keterbatasan field alamat karena panjang field alamat biasanya lebih kecil dibandingkan panjang word

2. Indirect Addresing
      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. Mode pengalamatan indirect addressing selalu merujuk pada RAM internal dan tidak pernah merujuk pada SFR. Karena itu, menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh hanya digunakan untuk keluarga 8052 yang memiliki 256 byte spasi RAM internal.
Kelebihan dan kekurangan dari Indirect Addresing antara lain :
Kelebihan
Ruang bagi alamat menjadi besar sehingga semakin banyak alamat yang dapat referensi
  Kekurangan
Diperlukan referensi memori ganda dalam satu fetch sehingga memperlambat preoses operasi

3. Immediate Addresing
      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.
Kelebihan dan kekurangan dari Immedieate Addresing antara lain :
  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

Dalam Bahasa Assembly ada yang dinamakan Mode Pengalamatan atau bahasa Inggrisnya adalah Addressing Mode, yaitu Mode pengalamatan berbagai didefinisikan dalam sebuah arsitektur set instruksi yang diberikan menentukan bagaimana instruksi bahasa mesin dalam arsitektur yang mengidentifikasi operan (operand atau) dari setiap instruksi. Sebuah mode pengalamatan menentukan bagaimana menghitung alamat memori efektif operand dengan menggunakan informasi yang dimiliki dalam register dan / atau konstanta yang terkandung dalam instruksi mesin atau tempat lain. Addressing mode ini terdapat 7 macam, sebagai berikut ini, yaitu :


1.      IMMEDIATE ADRESSING
pengcopyan variabel angka secara langsung
2.      REGISTER ADDRESSING
pencopyan variabel antar register yang berukuran sama
3.      DIRRECT ADRESSING
pengcopyan variabel dari suatu register atau simbol
4.      REGISTER INDIRRECT ADRESSING
Mengakses suatu variabel yang banyak dengan mengambil alamat efektifnya
5.      BASE RELATIVE ADRESSING
mengakses suatu tabel dengan mengambil alamat efektifnya
6.      DIRECT INDEXED ADDRESSING
 mirip  dengan  base  addressing,  perbedaannya  hanya  penggunaan  register  yang dipakai untuk perhitungan alamat  efektif. Pada indexed addressing dipakai register-register index  yaitu SI dan DI.
7.      BASE INDEXED ADDRESSING
merupakan  gabungan  antara  base  addressing  dan  indexed  addressing.  Mode  pengalamatan  ini sering digunakan untuk menangani array dua dimensi.

B.     Memory Sebagai Buffer Data

Memory Buffer Register atau yang biasa disingkat dengan MBR adalah suatu register yang berfungsi untuk memuat isi informasi yang akan dituliskan ke memori atau baru saja dibaca dari memori pada alamat yang ditunjukkan oleh isi MAR (Memory Address Register) , atau untuk menampung data dari memori (yang alamatnya ditunjuk oleh MAR) yang akan dibaca. MBR dapat berukuran m bit, 2m bit, 4m bit, dst dimana   m = jumlah bit minimal dalam satu alamat (minimum addressable unit).
MBR berperan dalam proses pengaksesan memori yaitu dalam proses read/write dari atau ke memori.
Berikut ini urutan proses read dari memori.

·         Taruh alamat memori yang akan dibaca (dalam unsigned(range 0 hingga 2n binary) ke MAR
·         Kirim READ signal melalui READ control line.
·         Decode isi MAR sehingga diperoleh nilai x dan y (nilai MAR tidak berubah).
·         Taruh isi alamat yang ditunjuk ke dalam MBR.
            Sedangkan, urutan proses write ke memori adalah sebagai berikut.
·         Taruh alamat memori yang akan ditulisi (dalam unsigned binary) ke MAR (range 0 hingga 2n – 1).
·          Taruh data yang akan ditulis ke MBR.
·         Kirim signal WRITE melalui WRITE control line.
·         Decode isi MAR sehingga diperoleh nilai x dan y (nilai MAR tidak berubah).
·         Copy-kan isi MBR ke memori (isi MBR tidak berubah).

Selanjutnya, urutan kejadian selama siklus instruksi tergantung pada rancangan CPU. Misalnya sebuah komputer yang menggunakan register memori alamat (MAR), register memori buffer (MBR), pencacah program (PC), dan register instruksi (IR)

 Proses aliran data pada siklus pengambilannya adalah sebagai berikut.
·         Pada saat siklus pengambilan (fetch cycle), instruksi dibaca dari memori.
·         PC berisi alamat instruksi berikutnya yang akan diambil.
·         Alamat ini akan dipindahkan ke MAR dan ditaruh di bus alamat.
·         Unit kontrol meminta pembacaan memori dan hasilnya disimpan di bus data dan disalin ke MBR dan kemudian dipindahkan ke IR.
·          PC naik nilainya 1, sebagai persiapan untuk pengambilan selanjutnya.
·         Siklus selesai, unit kontrol memeriksa isi IR untuk  menentukan apakah IR berisi operand specifier yang menggunakan pengalamatan tak langsung. Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjrlBcDaEA_EvT1dn0UNYED22P5iIl0DTaARoCqfNYDkCpWCuX8uHrWhX1xtKgGzWuBbqI9KdcepkcoyZs5kgj_SxWgQxZubhUE_ZKN5H2StPd8TPUnNk-uajW5lBYYZSiDRh6Kt_zcCvgo/s400/Picture3_MBR.jpg


Kemudian proses aliran data pada siklus tak langsung adalah sebagai berikut.

·         N bit paling kanan pada MBR, yang berisi referensi alamat, dipindahkan ke MAR.
·         Unit kontrol meminta pembacaan memori, agar mendapatkan alamat operand yang diinginkan ke dalam MBR.
·         Siklus pengambilan dan siklus tak langsung cukup sederhana dan dapat diramalkan.
·         Siklus instruksi (instruction cycle) mengambil banyak bentuk karena bentuk bergantung pada bermacam-macam instruksi mesin yang terdapat di dalam IR.
·         Siklus meliputi pemindahan data di antara register-register, pembacaan atau penulisan dari memori atau I/O, dan atau penggunaan ALU.
Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjE9sMzBCjrlmoGhFUm5g-hVuM-9wV8JUSg7uO7lnC8EKiAChEhc0vGNGfq9N7Bl9caEFMVOCicA4kc1f-Fj0knuEliUSKcghNlRhWIPkCH3vTItlD7PbjZgc76HOelzmWwZpiCBa__Xzc-/s400/Picture2_MBR.jpg

Lalu proses aliran data pada siklus interupsi adalah sebagai berikut:

·         Isi PC saat itu harus disimpan sehingga CPU dapat melanjutkan aktivitas normal setelah terjadinya interrupt.
·         Cara : Isi PC dipindahkan ke MBR untuk kemudian dituliskan ke dalam memori.
·         Lokasi memori khusus yang dicadangkan untuk keperluan ini dimuatkan ke MAR dari unit kontrol.
·          Lokasi ini berupa stack pointer.
·         PC dimuatkan dengan alamat rutin interrupt.
·          Akibatnya, siklus instruksi berikutnya akan mulai mengambil instruksi yang sesuai.

Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAzuCkCuk3rACEyqLcEHCg5WzPoEYAj5VNs4fZsGsicNwnxOIxwD4lSNMYBBwBDIIeudPeUHX-WZPcvuRW5Fi1angiCGtlZw_yDOcu_tTrfCg_SGSSqGgzNfA-vJZV84DkaRUxAIQFzjc5/s400/Picture1_MBR.jpg


C.    Pengalamatan Memori Dengan Segment dan Offset

Sudah kita bahas bersama bahwa baik 8086 maupun mode real 80286 dapat mengalamatkan sampai 1 MB memori. Tetapi sebenarnya baik 8086 maupun 80286 adalah procesor 16 bit. Banyaknya memori yang dapat dicatat atau dialamatkan oleh procesor 16 bit adalah maksimal 216 byte (=64 KB). Jadi bagaimana 8086 dan mode real 80286 mampu mengalamatkan sampai 1 MB memori ?. Hal ini dapat dimungkinkan dengan adanya pengalamatan yang menggunakan sistem 20 bit walaupun sebenarnya procesor itu hanya 16 bit. Dengan cara ini dapat dialamatkan 220 byte (=1 MB) memori. Tetapi masih tetap ada satu kendala dalam pengalamatan 20 bit ini. Yaitu bahwa sesuai dengan tipenya procesor ini hanya mampu mengakses 16 bit data pada satu kali akses time. Sebagai pemecahannya dikembangkanlah suatu metode pengalamatan 20 bit yang dimasukkan ke dalam format 16 bit.
Pada metode pengalamatan ini baik 8086 maupun mode real 80286 membagi ruang memori ke dalam segmen-segmen di mana besar 1 segmen adalah 64 KB (=216 byte). Jadi pada segmen 0000h(Tanda "h" menunjukkan hexadesimal) terdapat 64 KB data, demikian pula dengan segmen 0001h dan seterusnya. Sekarang bagaimana caranya agar setiap data yang tersimpan dalam satu segmen yang besarnya 64 KB itu dapat diakses secara individual. Cara yang dikembangkan adalah dengan membagi-bagi setiap segmen menjadi bagian-bagian yang disebut offset. Dalam satu segmen terdapat 216 offset yang diberi nomor dari 0000h sampai FFFFh. Nomor offset selalu diukur relatif dari awal suatu segmen.
sekarang kita lihat bagaimana sebenarnya letak suatu segmen dalam memori komputer kita. Segmen 0000h berawal dari lokasi memori 0 hingga 65535 ( 64 KB ). Segmen 0001h berawal dari lokasi memori 16 (0010h) hingga 65551 (65535 + 16). Segmen 0002h berawal dari lokasi 32 hingga 65567. Demikian seterusnya. Kita lihat bahwa sistem penempatan segmen semacam ini akan menyebabkan terjadinya overlapping (tumpang-tindih) di mana lokasi offset 0010h bagi segmen 0000h akan merupakan offset 0000h bagi segmen 0001h. Demikian pula offset 0011h bagi segmen 0000h akan merupakan offset 0001h bagi segmen 0001h. Dalam pembahasan selanjutnya akan kita lihat bahwa ada banyak nilai segmen:offset yang dapat digunakan untuk menyatakan suatu alamat memori tertentu disebabkan adanya overlapping ini. Untuk lebih jelasnya dapat kita lihat pada gambar

 Description: E:\index.jpg

D.    Pembagian Ruang Memory
Pembagian Memori pada Komputer berdasarkan daya listrik
 1.     Memory RAM
Memory RAM ( Random Access Memory ) merupakan memori utama sebuah komputer, bertugas untuk menerima informasi kemudian menyimpan untuk digunakan ketika dibutuhkan. Kegunaan RAM antara lain sebagai perangkat penyimpanan informasi sementara. Informasi yang terdapat di dalam RAM dapat diakses dalam waktu yang tetap dan tidak mempedulikan letak data tersebut. RAM bersifat Volatile (sementara) dan hanya akan terisi pada saat komputer aktif.
Jenis-jenis chip pada RAM :
  1. DRAM (Dynamic RAM) = 128 KB – 1 MB
  2. SDRAM (Synchronous Dynamic RAM) = 2 MB – 512 MB
  3. SRAM (Static RAM)
  4. DDR-SDRAM1 (Double Data Rate SDRAM) = 128 MB – 8 GB
  5. DDR-SDRAM2 (Double Data Rate SDRAM) = 2 GB – 8 GB
            Lebih baik kapasitas RAM maka lebih cepat kerja komputer.
RAM menurut jumlah Chip :
  • SIMM = RAM yang di isi dengan satu ruang (simple)
  • DIMM = RAM dengan dua permukaan chip (Double)
 2.     Memory ROM
Rom ( Read Only Memory ) sebuah contoh dari Programmable Logic Device, yakni perangkat yang dapat di program untuk menyimpan informasi perangkat keras komputer. ROM merupakan memori yang berisi data program yang ditulis oleh pabriknya, ROM memiliki sifat Non-volatile (Permanen).
Data dan Program yang terdapat pada ROM akan selalu ada walaupun listrik padam dan data atau program yang terdapat pada ROM tidak dapat di ubah-ubah. Isi daripada ROM adalah program untuk STAR- UP komputer dan tujuan dari Start-up adalah untuk melakukan proses Booting pada komputer. Booting adalah program pengaktifan komputer oleh windows, linux, dll. Program yang mengatur proses booting adalah Bootstrap. Saat komputer menyala booting menjadi panas dan ketika komputer mati booting menjadi dingin.
  •        ROM BIOS/CMOS :
  1. Untuk menyimpan instruksi start-up yang bersifat Flexible (bisa di ubah-ubah nilai dan fungsinya)
  2. Isi dari ROM BIOS ini adalah kebanyakan konfigurasi dari Hardware komputer yang digunakan, misal ; Processor, Hardisk, Memory, dll.


 Pembagian memori pada komputer berdasarkan pembacaan
1.     Sequential access
maksud dari sequential access adalah :
• Akses memory dilakukan secara berurutan.
• Waktu akses sangat variabel, bergantung pada lokasi data yang akan dituju dan data sebelumnya.
Contoh dari sequential access adalah: magnetic tape.
2.     Direct access
• akses memori langsung menuju lokasi terdekat di teruskan dengan sedikit pencarian dan perhitungan.
• Digunakan mekanisme shared read/write
• waktu aksesniya variabel ( berbeda – beda ) dan bergantung pada lokasi data yang akan dituju dan lokasi data sebelumnya.
Contoh dari direct access memory adalah harddisk.
3.     Random access
• Akses ke memori dilakukan secara random langsung ke alamat yang dituju.
• Waktu aksesnya konstan dan tidak bergantung pada urutan akses sebelumnya.
Contoh: main memory, beberapa sistem cache.
  • Memory yang pengaksesannya dibaca dan ditulis
 Memory yang diakses secara dibaca dan ditulis biasanya adalah secondary memory / eksternal memory. Memory ini hanya bisa membaca dan menyimpan data serta bisa mengedit atamerubah data yang tersimpan di dalamnya. Memory ini kebanyakan bersifat non-volatile, artinya memory ini tidak akan kehilangan data ketika listrik di matikan.
            Ada 2 kelompok :
1.      SASD (Sequental Acess Storage Device), alat penyimpanan luar tidak langsung.
  • Kartu Plong (Punch Card)
  • Pita Kertas (Paper Tape)
  • Pita Magnetik (Magnetic Tape)
2.      DASD (Direct Acess Storage Device), alat simpanan luar langsung.
  • Piring Hitam
  • Disket
  • Zip Disk (250 MB)
  • Hardisk
    • Fixed Disk
    • Removable Hardisk (Mobilitas)
    • Optical Disk
      • CD (600 MB)
      • DVD (4,7 GB)
      • Blue Ray (15 GB)
      • Kartu Memory (Smart Flash)
      • Memory Flash
        • MMC
        • M2
        • Trans Flash
        • Micro SD
Definisi, kegunaan, persamaan, dan perbedaan.
 1.     chace memory
chace adalah sebuah daerah memori cepat yang berisi salinan data. Akses ke sebuah salinan yang di chace lebih efisien dari pada akses ke data yang asli.
Contohnya instruksi-instruksi yang baru saja menjalankan proses-proses yang di simpan dalam disk. Proses tersebut di-chace ke memori fisikal dan di salin lagi ke chace primer dan sekunder. Sifat dari chace adalah bersifat volatile artinya jika aliran listrik tidak ada maka datanya akan terhapus. Chace memory ini untuk mempercepat proses pada CPU.
            Memory yang sering digunakan:
  • L1 = Level 1 Chace : Chip gabungan dengan Processor
  • L2 = Level 2 Chace : Chip digabungkan dengan Processor (SRAM)
  • L3 = Level 3 Chace : Memory terpisah dengan Processor

2.     Buffer
Buffer adalah sebuah daerah memori yang menyimpan data ketika data tersebut ditransfer antara dua perangkat atau antara sebuah perangkat dan sebuah aplikasi. Memori ini berfungsi untuk menyangga kerja antar perangkat keras maupun antar aplikasi/program yang memiliki kecepatan yang berbeda atau memiliki prioritas eksekusi perintah yang berbeda.

















KESIMPULAN
   Mode pengalamatan adalah bagaimana cara menunjuk dan  mengalamati suatu lokasi memori pada  sebuah alamat di mana operand akan diambil. Mode pengalamatan ini meliputi  :
1. Direct Addresing
Dalam mode pengalamatan direct addressing, harga yang akan dipakai diambil langsung dalam alamat memori lain.
2. Indirect Addresing
Mode ini pula satu-satunya cara untuk mengakses 128 byte lebih dari RAM internal pada keluarga 8052.
3. Immediate Addresing
    Mode ini sangatlah cepat karena harga yang dipakai langsung tersedia.

Register adalah merupakan sebagian memori dari mikro prosessor yang dapat diakses dengan kecepatan tinggi. Metode pengalamatan register ini  mirip dengan mode pengalamatan langsung. Perbedaannya terletak pada field alamat yang mengacu pada register, bukan pada memori utama. Indirect Addressing merupakan metode pengalamatan register tidak langsung mirip dengan mode pengalamatan tidak langsung  Perbedaannya adalah field alamat mengacu pada alamat register. Displacement Addressing adalah menggabungkan kemampuan pengalamatan langsung dan pengalamatan register tidak langsung. Ada tiga model displacement yaitu : Relative addressing, Base register addressing, Indexing. Stack adalah array lokasi yang linier = pushdown list = last-in-first-out. Stack merupakan blok lokasi yang terbalik.
Memory Buffer Register atau yang biasa disingkat dengan MBR adalah suatu register yang berfungsi untuk memuat isi informasi yang akan dituliskan ke memori atau baru saja dibaca dari memori pada alamat yang ditunjukkan oleh isi MAR (Memory Address Register) , atau untuk menampung data dari memori (yang alamatnya ditunjuk oleh MAR) yang akan dibaca. MBR dapat berukuran m bit, 2m bit, 4m bit, dst dimana   m = jumlah bit minimal dalam satu alamat (minimum addressable unit).



DAFTAR PUSTAKA

.Nur Akhwan (2011).Pemrograman Bahasa Rakitan | Mode Pengalamatan (Addressing Mode) Listing Program. From http://nur-akhwan.blogspot.com/2011/12/pemrograman-bahasa-rakitan-mode.html, 19 Mei 2014

.Deziez (2010). Memory Buffer Register (MBR).From http://zieinform.blogspot.com/2010/10/tugas-1-sistem-operasi-mbr.html, 19 Mei 2014

.Rikihamdani (2013).sistem penalamatan.from http://rikihamdanielektro.wordpress.com/2013/11/02/mode-pengalamatan-2/ ,19 mei 2014

.nabilla canum (2012). Memory dalam komputer.From http://nbbajry.blog.com/2011/03/18/memori-dalam-komputer/ 19 mei 2014