Jumat, 25 Desember 2015

ARKOM 3




OVERVIEW  CACHE  MEMORY
          •Cache memory adalah memori sesaat yang  memiliki kecepatan tinggi dengan ukuran yang  kecil. Memori ini bertugas untuk menyimpan  salinan perintah / instruksi yang selalu diakses  oleh CPU. Tugas Cache memory adalah sebagai  penghubung perbedaan kecepatan antara CPU  dan Memori Utama.
•Dalam implementasinya jenis memori yang digunakan untuk cache adalah statik  RAM (SRAM)
Bagan Cache MemoRY










Operesi cache
          Jika prosesor membutuhkan suatu data, pertama prosesor akan  mencarinya pada cache. Jika data ditemukan, prosesor akan langsung  membacanya dengan delay yang sangat kecil. Tetapi jika data yang  dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang  kecepatannya lebih rendah. Pada umumnya, cache dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi.  Dengan cara ini maka memory bandwidth akan naik dan kerja  prosesor menjadi lebih efisien. Selain itu kapasitas memori cache  yang  semakin besar juga akan meningkatkan kecepatan kerja komputer  secara keseluruhan. Dua jenis cache yang sering digunakan dalam  dunia komputer adalah memory caching dan disk caching.
Implementasinya dapat berupa sebuah bagian khusus dari memori  utama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi


karakterisrik cache memory
          Kapasitas relatif lebih kecil dari main memory,  tetapi memiliki kecepatan yang relativ lebih tinggi  dibanding main memory;
•Cache memory merupakan suatu memori buffer  (salinan data) bagi memori utama
•Meskipun cache menggunakan informasi yang  tersimpan dalam memori utama, tetapi  ia tidak  berhadapan secara langsung dengan memori utama
•Word yang disimpan didalam cache memory adalah word yang diambil dari main memory, yang dikerjakan sesuai perintah CPU


cache design
   Ukuran cache
•Pemetaan (Mapping Function)
•Algoritma Penggantian (Replacement Algorithm)

•Write Policy
•Ukuran Blok
•Jumlah Cache



Ukuran Cache
          Menentukan ukuran cache memory sangat  penting untuk mendongkrak kinerja komputer.  Dari segi harga cache memory sangat, mahal tidak  seperti memori utama. Semakin besar kapasitas  cache tidak berarti semakin cepat prosesnya, dengan ukuran besar akan terlalu banyak gate  pengalamatannya sehingga akan memperlambat proses

Jumlah Cache
          Ukuran Cache Menentukan ukuran cache memory sangat  penting untuk mendongkrak kinerja komputer.  Dari segi harga cache memory sangat, mahal tidak  seperti memori utama. Semakin besar kapasitas  cache tidak berarti semakin cepat prosesnya, dengan ukuran besar akan terlalu banyak gate  pengalamatannya sehingga akan memperlambat  proses.


·Level Cache Memory
•Cache memory memori level 1 (L1) adalah cache memory yang  terletak dalam prosesor (internal cache). Cache memory ini  memiliki kecepatan akses paling tinggi. Ukuran memori  berkembang mulai dari 8KB, 64KBdan 128KB


•Cache memory level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara256 KBsampai dengan 2MB
Namun, cache memory L2 ini memiliki kecepatan yang lebih  rendah dari cache memory L1. Cache memory L2 terletak  terpisah dengan prosesor atau disebut dengan external cache
•Cache memory level 3 (L3) hanya dimiliki oleh prosesor yang  memiliki unit lebih dari satu misalnya dualcore dan quadcore.  Fungsinya adalah untuk mengontrol data yang masuk dari  tembolok L2 dari masing masing inti prosesor.  Pemetaan Karena saluran cache memory lebih sedikit dibandingkan  dengan blok memori utama, maka diperlukan algoritma  untuk pemetaan blok memori utama ke dalam saluran  cache memory. Pemilihan terhadap fungsi pemetaan akan sangat menentukan bentuk organisasi cache memory.  Telah kita ketahui bahwa cache memory mempunyai  kapasitas yang kecil dibandingkan memori utama.  Sehingga diperlukan aturan blok-blok mana yang  diletakkan dalam cache memoryTeknik Pemetaan

•Direct mapping
•Fully associative mapping
•Set associative mapping Direct Mapping Keuntungan menggunakan Direct Mapping antara lain:
•Mudah dan murah diimplementasikan.
•Mudah untuk menentukan letak salinan data main memory
pada cache. Kerugian menggunakan Direct Mapping antara lain:
•Setiap blok main memory hanya dipetakan pada 1 line saja.
•Terkait dengan sifat lokal pada main memory, sangat  mungkin mengakses blok yang dipetakan pada line yang sama  pada cache. Blok seperti ini akan menyebabkan seringnya sapu masuk dan keluar data  ke/dari cache, sehingga hit ratio mengecil. Hit ratio adalah perbandingan antara jumlah  ditemukannya data pada cache dengan jumlah usaha  mengakses cache

 Full associative mapping
•Memungkinkan blok diletakkan di sebarang line yang sedang tidak terpakai
•Diharapkan akan mengatasi kelemahan utama

Direct Mapping.
•Harus menguji setiap cache untuk menemukan blok yang diinginkan  Mengecek setiap tag pada line  Sangat lambat untuk cache berukuran besar.
•Nomor line menjadi tidak berarti. Address main memory dibagi menjadi 2 field saja yaitu tag dan  word ofsett

     Full associative mapping
•Keuntungan Associative Mapping: cepat dan  fleksibel
•Kerugiannya biaya implementasi

Misalnya  :
untuk cache ukuran  8  kbyte dibutuhkan 1024 x
17 bit associative memory untuk menyimpan tag indentifier Set associative mapping
• Merupakan kompromi antara Direct dengan Full  Associative Mapping.
• Membagi cache menjadi sejumlah set (v) yang  masing-masing memiliki sejumlah line (k)
•Setiap blok dapat diletakkan  di sebarang line
• Jika sebuah set dapat menampung X line, maka  cache disebut memiliki Xway set associative cache.
•Hampir semua cache yang digunakan saat ini menggunakan organisasi 2 atau 4-way set associative mapping  Set associative mapping  Keuntungan menggunakan Set Associative Mapping antara lain:
Setiap blok memori dapat menempati lebih dari satu kemungkinan nomor line (dapat menggunakan line yang kosong),sehingga thrashing dapat diperkecil  Jumlah tag lebih sedikit (dibanding model  associative), sehingga jalur untuk melakukan  perbandingan  tag lebih sederhana

PEMETAAN
Algoritma pergantian
• Pada teknik direct mapping, jika sebuah blok  akan disalinkan  ke sebuah slot dan slot tersebut  sedang terisi, maka blok yang baru tersebut  langsung akan menggantikan blok yang lama.
•Pada teknik fully associative dan  set associative  mapping, jika sebuah blok akan disalinkan ke slot cache dan semua slot saat itu penuh, maka  harus ditentukan isi slot mana yang harus  diganti. Untuk itu diperlukan suatu algoritma  penggantian.
•Algorima penggantian yang bisa digunakan adalah :
ü First  In First Out (FIFO) : mengganti blok yang  paling lama menempati cache , FIFO
dari Wikipedia, ensiklopedia gratis Mencari FIFO di Wiktionary, kamus gratis.
ü FIFO adalah akronim yang paling umum adalah singkatan pertama keluar pertama. Dua konteks umum untuk ini adalah:
ü FIFO dan LIFO akuntansi, akuntansi
 FIFO (komputasi dan elektronik), metode antrian atau manajemen memori
FIFO dapat berdiri untuk kata lain:
Cocok atau bercinta off, ekspresi sumber daya manusia tidak resmi digunakan dalam organisasi
     Fly-in fly-out, strategi sumber daya manusia untuk penyebaran personil ke lokasi terpencil
Least Recently Used (LRU) : mengganti blok yang  paling lama tidak  digunakan,
Least Frequently Used (LFU) : mengganti blok
yang paling jarang digunakan,LRU dapat merujuk ke:
     Line-diganti Unit, komponen kompleks kendaraan yang dapat diganti dengan cepat di tingkat organisasi , Algoritma cache yang paling Baru Digunakan
 Bandara Internasional Las Cruces di Las Cruces, New Mexico, Amerika Serikat
     Lenoir-Rhyne University   Kebebasan dan Tanggung Jawab Universitas, hukum Perancis pada tahun 2007 sebagai
Random : mengganti secara acak, Acak Integer Generator
Formulir ini memungkinkan Anda untuk menghasilkan bilangan bulat acak. Keacakan berasal dari kebisingan atmosfer, yang untuk berbagai tujuan lebih baik dari algoritma nomor pseudo-random biasanya digunakan dalam program komputer.

Write Policy
          Write Policy adalah suatu keadaan apabila suatu  data telah diletakkan pada cache memory maka  sebelum ada penggantian harus dicek apakah data  tersebut telah mengalami perubahan Apabila  telah berubah maka data pada memori utama  harus di-update. Ada 2 write policy yang biasa digunakan, yaitu:

• Write Through : cache, teknik menyimpan salinan data sementara di media penyimpanan dengan cepat diakses (juga dikenal sebagai memori) lokal untuk CPU dan terpisah dari penyimpanan massal, telah sekitar selama komputasi itu sendiri. Keberadaan cache didasarkan pada ketidaksesuaian antara karakteristik kinerja komponen inti dari arsitektur komputasi, yaitu bahwa penyimpanan massal tidak dapat mengikuti dengan persyaratan kinerja CPU dan aplikasi pengolahan.

• Write Back : Sebuah metode caching dimana modifikasi data dalam cache tidak disalin ke sumber Cache sampai benar-benar diperlukan. Menulis-kembali caching tersedia pada banyak mikroprosesor, termasuk semua prosesor Intel sejak 80486. Dengan mikroprosesor ini, modifikasi data (misalnya, menulis operasi) untuk data yang disimpan dalam cache L1 tidak disalin ke memori utama sampai benar-benar diperlukan. Sebaliknya, write-through cacheperforms semua menulis operasi secara paralel - data ditulis ke memori utama dan cache L1 secara bersamaan.








ARKOM 1





Struktur Dasar Sistem Komputer

Fungsi Komponen
§Data processing CPU
§Control
§Data movement I/O unit
§Data storage Memory  Main Memory Input O CPU  Bagian sistem komputer   yang bertugas mengeksekusi program.

Komponen utama CPU:
(1) ALU (Arithmetic and Logic Unit)
          Mengerjakan operasi operasi aritmatik dan operasi operasi Aritmatik: add,
          subtract, multiply, divide,...Logika : AND, OR, NOT, Shift, ...terhadap data.

(2) Control unit
Mengendalikan seluruh operasi didalam komputer, dengan  Menginterpretasi kan instruksi instruksi (yang terdapat dalam program),
-Membangkitkan sinyal sinyal kendali untuk mengendalikan aktifitas komponen komponen sistem komputer (untuk  melaksanakan/eksekusi


 (Main) Memory Unit
Bagian komputer untuk menyimpan program dan data yang sedang atau siap  dieksekusi oleh CPU.
Jenis :   - Random Access memory (RAM) : RAM merupakan singkatan dari Random Access Memory biasanya disebut dengan istilah pendek yaitu Memori.
           Memory atau RAM merupakan sebuah perangkat keras komputer yang berfungsi sebagai tempat penyimpanan data sementara. Memory bekerja dengan menyimpan dan menyuplai data-data penting yg dibutuhkan Processor dengan cepat untuk diolah menjadi informasi.
Agar lebih mudah dipahami sebagai contoh, saat anda membuka membuka sebuah aplikasi misalnya seperti microsoft atau browser mozila firefox maka  akan membuka program atau aplikasi tersebut dari hardisk dan kemudian akan meload nya ke memory atau RAM. begitulah kira kira pemahaman sederhana tentang fungsi memory atau RAM.
Kamu juga bisa melihat berapa banyak memori yang dibutuhkan ketika menjalankan suatu aplikasi atau program. Caranya klik kanan pada panel bar desktop layar komputer kamu kemudian pilih Task Manager, atau melalui tombol CRTL + ALT + DEL pada keyboard.

klik kanan pada panel bar, kemudian pilih Task Manager
Perhatikan pada tap Applications, maka akan menunjukkan aplikasi atau program yang sedang aktif saat ini,
          Pada tap performance perhatikan pada kolom , disitu terdapat sejumlah angka (itu adalah jumlah memori yang dibutuhkan untuk menampilkan aplikasi). Semakin banyak aplikasi yang aktif maka semakin besar memori yang dibutuhkan.  Perlu diketahui juga, meskipun kamu tidak membuka aplikasi sama sekali bukan berati kolom PF Usage akan menjadi angka 0, karena sistem operasi windows juga membutuhkan memori agar bisa aktif atau hidup pada komputer.

Untuk memahami lebih jauh lagi anda bisa dilihat pada ilustrasi kerja memori atau ram dibawah ini
ketika kamu menyalakan komputer, komponen yang pertama kali bekerja adalah Processor. Processor berfungsi sebagai pengolah data dan meminta data dari tempat penyimpanan data (storage), yaitu Hard Disk (HDD).
          Tapi prakteknya hal ini sulit dilakukan karena perbedaan teknologi antara Processor & Hard Disk. Processor sendiri adalah komponen digital murni, dan akan memproses data dengan sangat cepat (Bandwidth tertinggi P4 saat ini 6,4 GB/s dengan FSB 800MHz). Sedangkan Hard Disk sebagian besar teknologinya merupakan mekanis yang tentu cukup lambat dibandingkan digital (Bandwidth atau Transfer Rate HDD Serial ATA berkisar 150 MB/s). Secara teoritis kecepatan data Processor berkisar 46x lebih cepat dibanding HDD. Artinya, apabila Processor menunggu pasokan data dari HDD akan terjadi “Bottle-Neck” yang sangat parah.

Maka untuk mengatasi hal itu, diperlukan device Memory Utama (Primary Memory) atau disebut RAM. RAM berfungsi untuk membantu Processor dalam penyediaan data “super cepat” yang dibutuhkan. RAM berfungsi layaknya seperti HDD Digital, karena seluruh komponen RAM sudah menggunakan teknologi digital. Dengan RAM, maka Processor tidak perlu menunggu kiriman data dari HDD. Saat ini RAM DDR2 mempunyai bandwidth 3,2 GB/s (PC400), agar tidak menganggu pasokan maka saat ini Motherboard menggunakan teknologi Dual Channel yang dapat melipatgandakan bandwidth menjadi 2x dengan memperbesar arsitektur menjadi 128-bit. Itu artinya, 2 keping DDR2 dalam mode Dual Channel dapat memasok data dalam jumlah yang pas ke Processor (3,2 GB/s x Dual Channel = 6,4 GB/s). Itulah sedikit penjelasan tentang pengertian RAM dan Fungsi RAM atau memory, semoga mudah dipahami dan bisa bermanfaat bagi kamu yang membutuhkan.
          Pengertian ROM dan fungsinya beserta cara kerjanya dapat kamu simak di artikel kali ini. ROM adalah singkatan dari ‘ Read Only Memory ‘ yaitu suatu perangkat keras pada komputer atau PC yang berupa chip memori semikonduktor yang isinya hanya bisa dibaca saja. ROM tidak dapat digolongkan sebagai RAM (Random Access Memory), walaupun keduanya mempunyai kesamaan yaitu dapat diakses secara acak atau random. ROM (Read Only Memory) berbeda dengan RAM (Random Access Memory).

Atau bias juga definisi ROM adalah salah satu memori yang terdapat di dalam komputer. ROM ini mempunyai sifat permanen, yang artinya program atau data yang disimpan didalam ROM tidak mudah hilang ataupun berubah-ubah walau aliran listrik di sudah matikan. Menyimpan data di dalam ROM tidak dapat dilakukan dengan mudah, namun membaca data dapat dilakukan dengan mudah. Biasanya program atau data yang ada diisi oleh pabrik yang membuatnya. Oleh karena itu sifat ini, biasa dipakai untuk menyimpan firmware (perangkat lunak yang berhubungan sangat erat dengan perangkat keras).

Di bawah ini bisa kamu lihat cara kerja, fungsi dan jenis ROM
Cara atau prinsip kerja dari ROM seperti pada gambar di bawah ini:
Inilah bagaimana ROM bekerja
          Fungsi ROM (Read Only Memory) adalah sebagai media penyimpanan firmware, yaitu perangkat lunak atau lebih sering disebut software, yang berhubungan dengan perangkat keras (hardware). seperti ROM BIOS, dimana BIOS (Basic Input Output System) tersebut dapat langsung di eksekusi secara cepat, tanpa harus menunggu untuk menyalakan perangkat media penyimpanan lainnya lebih dulu seperti yang pada umumnya terjadi pada alat penyimpanan lain. Walaupun memori ROM hanya dapat dibaca saja, akan tetapi data pada memori ini dapat di tulis ulang.

Ilustrasi bentur ROM
          Jenis-jienis ROM misalnya seperti Mask ROM, PROM (Programmable Read Only Memory), EPROM (erasable programmable read only memory), EAROM (Electrically Alterable Read Only Memory) dll. Bentuk awal ROM terdiri dari sirkuit-sirkuit terpadu. Yang menggunakan switch transistor, data secara fisik dikodekan ke dalam rangkaian. Ini berarti bahwa hanya bisa diprogram selama fabrikasi aslinya. Ini benar-benar read-only, dan juga tidak ada perubahan yang mungkin sama sekali.

 - Read Only Memory (ROM)     :
   Input/Output Unit
   Bagian komputer yang bertugas menangani komunikasi dengan
   piranti piranti diluar sistem komputer (periferal)
   Format data masuk/keluar :

  -  Bit Serial:
           Komunikasi serial adalah salah satu metode di mana hanya satu bit data yang dikirimkan melalui seuntai pada suatu waktu tertentu.Pada dasarnya komunikasi serial adalah kasus khusus  dengan nilai n = 1, atau dengan kata lain adalah suatu bentuk komunikasi paralel dengan jumlah kabel hanya satu dan hanya mengirimkan satu bit data secara simultan Hal ini dapat disandingkan dengan komunikasi paralel yang sesungguhnya di mana n-bit data dikirimkan bersamaan, dengan nilai umumnya 8 ≤ n ≤ 128Untuk komunikasi serial tersinkron, setara dengan

  -  Bit Paralel      :      Rangkaian Seri adalah salah satu rangkaian listrik yang disusun secara sejajar (seri). Baterai dalam senter umumnya disusun dalam rangkaian seri. Rangkaian Paralel adalah salah satu rangkaian listrik yang disusun secara berderet (paralel). Lampu yang dipasang di rumah umumnya merupakan rangkaian paralel. Rangkaian listrik paralel adalah suatu rangkaian listrik, di mana semua input komponen berasal dari sumber yang sama. Semua komponen satu sama lain tersusun paralel. Hal inilah yang menyebabkan susunan paralel dalam rangkaian listrik menghabiskan biaya yang lebih banyak (kabel penghubung yang diperlukan lebih banyak). Selain kelemahan tersebut, susunan paralel memiliki kelebihan tertentu dibandingkan susunan seri. Adapun kelebihannya adalah jika salah satu komponen dicabut atau rusak, maka komponen yang lain tetap berfungsi sebagaimana mestinya Gabungan antara rangkaian seri dan rangkaian paralel disebut rangkaian seri-paralel (kadang disebut sebagai rangkaian campuran atau rangkaian kombinasi).
Tujuan utama : Mempekecil waktu-eksekusi program   (sejak dimulai  sampai selesai)
§    Waktu-eksekusi
            CPU-time :    System-time                   +                   User-time

        waktu yang dibutuhkan oleh cpu            waktu yang dibutuhkan oleh cpu

        untuk eksekusi program2 sistem            untuk eksekusi program user

        CPU-time = jumlah CPU clock-cycle  x  periode clock

§    Clock-cycles per Instruction (CPI)
  Untuk eksekusi sebuah program,

          jumlah clock-cycle CPU =

          Jumlah instruksi dalam program x clock-cycles rata rata sebuah instruksi

        = Jumlah instruksi dalam program x CPI x 1/ frekuensi clock


Perhitungan CPI :

    CPI = S (cycles per tipe x frekuensi kemunculan tipe tersebut dalam program)                                                                                         

PENINGKATAN KECEPATAN
          Peningkatan kecepatan  S adalat perbandingan (ratio) antara waktu yang dibutuhkan untuk mengeksekusi sebuah program pada sistem yang belum ditingkatan kinerjanya dengan waktu yang dibutuhkanpada sistem yang sudah ditingkatakan.

JAWAB :
1. 1. Estimasikan pingkatan kecepatan yang dicapai dengan menggantikan sebuah CPU yang mempunyai  CPI rata rata = 5 dan periode clock 100 ndetik dengan CPU lain yang CPI rata ratanya = 3.5, dan periode clock 120 ns.
Dik : cpi = 5 dan 3.5
Periode clock = 100 dan 120 ns.
Jawab :
20 x 100 = 2000
3.5 x 120=37,800

2000+37,800 =

Berarti kecepatan yang dicapai ialah  373,800

2. mesin A 2.0,karena kecepatannya  rationya membandingkan dengan 1,2







Kamis, 24 Desember 2015

ARKOM2




SET  INTRUKSI
SET INSTRUKSI DAN PENGALAMATAN
Set instruksi (instruction set) adalah sekumpulan lengkap instruksi yang dapat di mengerti oleh sebuah CPU, set instruksi sering juga disebut sebagai bahasa mesin (machine code), karna aslinya juga berbentuk biner kemudian dimengerti sebagai bahasa assembly, untuk konsumsi manusia (programmer), biasanya digunakan representasi yang lebih mudah dimengerti oleh manusia.
           
Sebuah instruksi terdiri dari sebuah opcode, biasanya bersama dengan beberapa informasi tambahan seperti darimana asal operand-operand dan kemana hasil-hasil akan ditempatkan. Subyek umum untuk menspesifikasikan di mana operand-operand berada (yaitu, alamat-alamatnya) disebut pengalamatan

Pada beberapa mesin, semua instruksi memiliki panjang yang sama, pada mesin-mesin yang lain mungkin terdapat banyak panjang berbeda. Instruksi-instruksi mungkin lebih pendek dari, memiliki panjang yang sama seperti, atau lebih panjang dari panjang word. Membuat semua instruksi memiliki panjang yang sama lebih muda dilakukan dan membuat pengkodean lebih mudah tetapi sering memboroskan ruang, karena semua instruksi dengan demikian harus sama panjang seperti instruksi yang paling panjang.

Di dalam sebuah instruksi terdapat beberapa elemen-elemen instruksi:
1.      Operation code (op code)
2.      Source operand reference
3.      Result operand reference
4.      Xext instruction preference
Format instruksi (biner):                                                    
Missal instruksi dengan 2 alamat operand : ADD A,B A dan B adalah suatu alamat register.
Beberapa simbolik instruksi:
ADD               : Add (jumlahkan)
SUB                : Subtract (Kurangkan)
MPY/MUL     : Multiply (Kalikan)
DIV                 : Divide (Bagi)
LOAD             : Load data dari register/memory
STOR              : Simpan data ke register/memory
MOVE                        : pindahkan data dari satu tempat ke        tempat lain
SHR                : shift kanan data
SHL                : shift kiri data .dan lain-lain




Cakupan jenis instruksi:
Data                            : Aritmetik (ADD, SUB, dsb); Logic (AND, OR, NOT,     SHR, dsb);     konversidata
Data storage (memory)  : Transfer data (STOR, LOAD, MOVE, dsb)
Data movement           : Input dan Output ke modul I/O
Program flow control              : JUMP, HALT, dsb.

Bentuk instruksi:
-          Format instruksi 3 alamat
Mempunyai bentuk umum seperti : [OPCODE][AH],[AO1],[AO2]. Terdiri dari satu alamt hasil, dan dua alamat operand, misal SUB Y,A,B Yang mempunyai arti dalam bentuk algoritmik : Y := A – B dan arti dalam bentuk penjelasan : kurangkan isi reg a dengan isi reg B, kemudian simpan hasilnya di reg Y. bentuk bentuk pada format ini tidak umum digunakan di dalam computer, tetapi tidak dimungkinkan ada pengunaanya, dalam peongoprasianya banyak register sekaligus dan program lebih pendek.
Contoh:
A, B, C, D, E, T, Y adalah register
Program: Y = (A – B) / ( C + D × E)
SUB Y, A, B              Y := A – B
MPY T, D, E              T := D × E     
ADD T, T, C              T := T + C
DIV Y, Y, T               Y:= Y / T
Memerlukan 4 operasi

-          Format instruksi 2 alamat

            Mempunyai bentuk umum : [OPCODE][AH],[AO]. Terdiri dari satu alamat hasil merangkap operand, satu alamat operand, missal : SUB Y,B yang mempunyai arti dalam algoritmik : Y:= Y – B dan arti dalam bentuk penjelasan : kurangkan isi reg Y dengan isi reg B, kemudian simpan hasillnya di reg Y. bentuk bentuk format ini masih digunakan di computer sekarang, untuk mengoprasikan lebih sedikit register, tapi panjang program tidak bertambah terlalu banyak.

Contoh :
A, B, C, D, E, T, Y adalah register
            Program: Y = (A – B) / ( C + D × E)
            MOVE Y, A               Y := A
            SUB Y, B                   Y := Y - B
            MOVE T, D               T := D
            MPY T, E                   T := T × E
            ADD T, C                   T := T + C
            DIV Y, T                    Y:= Y / T
Memerlukan 6 operasi



-          Format instruksi 1 alamat

      Mempunyai bentuk umum : [OPCODE][AO]. Terdiri dari satu alamat operand, hasil disimpan di accumulator, missal : SUB B yang mempunyai arti dalam algoritmik : AC:= AC – B dan arti dalam bentuk penjelasan : kurangkan isi Acc dengan isi reg B, kemudian simpan hasillnya di reg Acc. bentuk bentuk format ini masih digunakan di computer jaman dahulu, untuk mengoprasikan di perlukan satu  register, tapi panjang program semakin bertambah.

Contoh :
A, B, C, D, E, Y adalah register
            Program: Y = (A – B) / ( C + D × E)
            LOAD D                     AC := D
            MPY E                        AC := AC × E
            ADD C                       AC := AC + C
            STOR Y                      Y := AC
            LOAD A                     AC := A
            SUB B                        AC := AC – B
            DIV Y                                     AC := AC / Y
            STOR Y                      Y := AC
Memerlukan 8 operasi

-          Format instruksi 0 alamat
        Mempunyai bentuk umum : [OPCODE]. Terdiri dari semua alamat operand implicit, disimpan dalam bentuk stack. Operasi yang biasanya membutuhkan 2 operand, akan mengambil isi stack paling atas dan dibawahnya missal : SUB yang mempunyai arti dalam algoritmik : S[top]:=S[top-1]-S[top]  dan arti dalam bentuk penjelasan : kurangkan isi stack no2 dari atas dengan isi stack paling atas, kemudian simpan hasilnya di stack paling atas, untuk mengoprasikan ada beberapa instruksi khusus stack PUSH dan POP.
Contoh :
A, B, C, D, E, Y adalah register
Program: Y = (A – B) / ( C + D × E)
            PUSH A                      S[top] := A
            PUSH B                      S[top] := B
            SUB                            S[top] := A - B
            PUSH C                      S[top] := C
            PUSH D                      S[top] := D
            PUSH E                      S[top] := E
            MPY                           S[top] := D × E
            ADD                           S[top] := C + S[top]
            DIV                             S[top] := (A - B) /S[top]
            POP Y                         Out := S[top]
Memerlukan 10 operasi


Set instruksi pada CISC:
Berikut ini merupakan karakteristik set instruksi yang digunakan pada beberapa computer yang memiliki arsitektur CISC


Perbandingan set instruksi
Beberapa computer CISC (Complex Instruction Set Computer) menggunakan cara implist dalam menentukan mode addressing pada setiap set instruksinya. Penentuan mode addressing dengan cara implicit memiliki arti bahwa pada set instruksi tidak di ada bagian yang menyatakan tipe dari mode addressing yang digunakan, deklarasi dari mode addressing itu berada menyatu dengan opcode. Lain hal nya dengan cara imsplisit, cara eksplisit sengaja menyediakan tempat pada set instruksi untuk mendeklarasikan tipe mode addressing. Pada cara eksplisit deklarasi opcode dan mode addressing berada terpisah.
Data pada tempat deklarasi mode addressing diperoleh dari logaritma basis dua jumlah mode addressing. Jika deklarasi mode addressing dilakukan secara implicit akan menghemat tempat dalam set instruksi paling tidak satu bit untuk IBM 3090 dan 6 bit untuk MC68040. Perubahan satu bit pada set instruksi akan memberikan jangkauan alamat memori lebih luas mengingat range memori dinyatakan oleh bilangan berpangkat dua.
          
Implementasi hardware

Setiap set instruksi yang berbeda membutuhkan perangkat hardware yang berbeda pula. Hal ini terjadi karena set instruksi yang berbeda menyimpan informasi yang berbeda sehingga dibutuuhkan hardware yang berbeda untuk mengubah set instruksi tersebut ke bentuk sinyal-sinyal control.
Untuk mendapatkan opcode berikutnya prosesor harus mengetahui letak dari opcode tersebut secara pasti pada memory. Karena tipe dari mode addressing sangat mempengaruhi posisi dari operand, maka secara tidak langsung mode addressing mempengaruhi letak opcode selanjutnya. Sehingga dapat disimpulkan kedua cara pendeklarasian mode addressing tersebut turut mempengaruhi arsitektur hardware dari computer.







Pengalamatan

Program biasanya ditulis dalam bahasa tingkat tinggi, yang memunkinkan program untuk menggunakan konstanta, variable local dan global, pointer, dan array. Pada saat mentranslasi program bahsa tingkat tinggi menjadi bahsa assembly, compiler harus mampu mengimplimentasi konstruksi ini menggunakan fasilitas yang disediakan dalam set instruksi computer dimana program akan dijalankan. cara yang berbeda dalam menentukan lokasi suatu operand ditetapkan dalam suatu instruksi yang disebut sebagai mode pengalamatan.

Implementasi variable dan konstanta
Variable dan konstanta adalah tipe data yang paling sederhana dan terdapat dalam hampir setiap program computer. Dalam bahasa assembley, suatu variable dinyatakan dengan mengalokasikan suatu register atau lokasi memori untuk menyimpan nilainya. Sehingga nilai tersebut dapat diubah seperlunya menggunakan instruksi sesuai.

Kita mengakses operand dengan menetapkan nama register atau alamat lokasi memori tempat operand berada. Definisi yang presisi dari dua mode tersebut adalah:

Mode register operand adalah isi register prosesor, nama alamat register  dinyatakan dalam instruksi tersebut.

Mode absolute operand adalah lokasi memori, alamat lokasi dinyatakan secara eksplisit didalam instruksi tersebut. (pada bebrapa bahasa assembly, mode ini disebut direct).

Mode immediate operand dinyatakan secara eksplisit dalam instruksi, misalnya, instruksi Move 200 immediete, RO.

Indirection dan pointer
Pada mode pengalamatan berikutnya, instruksi tidak menyatakana operand atau alamatnya secara eksplisit. Sebaliknya, instruksi menyediakan informasi dari nama alamat memori suatu operand dapat ditetapkan. Kita menyebut alamat ini sebagai effective address (EA) suatu operand.
Selain kesederhanaanya yang tampak jelas, pengalamatan indirect melalui memori telah terbukti memiliki keterbatasan pengunaan sebagai mode pengalamatan, dan jarang di gunakan dalam computer modern, pengalamatan indirect melalui register digunakan secara luas. Maka pengalamatan indirect melalui register memungkinkan untuk mengakses variable global dengan terlebih dahulu me-load alamat operand dalam suatu register.






Secara umum teknik addressing yang sering dilakukan adalah:
1. Immediate addressing
Operand (data yang akan dikomputasi) berada langsung pada set instruksi.

2.   Direct Addressing
Operand berada pada memori, set instruksi memegang alamat lokasi memori dimana operand tersebut berada.

3.   Indirect Addresing
Operand berada pada memori, untuk mendapatkan operand ini CPU harus melakukan penelusuran dua kali yaitu dari data alamat memori yang ada pada set instruksi serta alamat yang ditunjuk oleh alamat memori yang diperoleh dari set instruksi tadi.

4.   Register addressing
Operand berada pada register, cara kerjanya mirip dengan direct addressing hanya saja CPU mengakses alamat register bukan alamat memori.

5.   Register Indirect Addressing
Operand berada pada memori, untuk mendapatkan operand CPU harus mengakses register terlebih dahulu karena informasi lokasi operand berada pada register.

6.  Displacement
Operand berada pada memori, cara kerjanya merupakan gabungan dari teknik direct addressing dan register indirect addressing.


7.   Stack
            Operand berada pada stack, operand secara berkala dimasukan ke stack sehingga ketika 
operand dibutuhkan maka operand sudah berada pada “top of the stack”.

Teknik pengalamatan tersebut harus dapat memenuhi kebutuhan komputasi yang dilakukan oleh computer yang secara garis besar dapat dibagi kedalam tiga kategori yaitu:
-         Operasi load (memasukan data).
-         Operasi branch (percabangan).                                                                                                   
-         Operasi aritmatik dan logika.










Referensi : http://www.4shared.com/office/KVurIFSK/SET_INSTRUKSI_MODUS_PENGALAMAT.html