Sabtu, 05 November 2016

CPU

A. Pegertian CPU
             
            CPU (Central Processing Unit) adalah otak atau sumber dari komputer yang mengatur dan memproses seluruh kerja komputer. CPU ini berbentuk IC yang diberi nama sesuai dengan tipenya, misalnya 8088 untuk PC XT dan 80286 untuk PC AT,Pentium IV dan sebagainya. Karena CPU ini berada pada suatu board (papan) yang disebut motherboard dan terletk dalam kotak (casing), sekarang ini orang jadi cenderung menyebut kotak berisi catu daya, disk drive dan motherboard sebagai CPU/ kotak CPU. Di dalam kotak CPU biasanya terdapat 2 buah disket drive yang diberi nama disket drive A dan disket drive B. selain disket drive ada juga yang mempunyai hard disk dan CD ROM.
B. Fungsi  CPU
              
           Fungsi utama CPU adalah menjalankan program-program yang disimpan di memori utama. Hal ini dilakukan dengan cara mengambil instruksi-instruksi dari memori utama dan mengeksekusinya satu persatu sesuai dengan alur perintah. Pekerjaan ini dilakukan dalam dua tahapan yaitu membaca instruksi (fetch) dan melaksanakan instruksi tersebut (execute). Proses membaca dan melaksankan ini dilakukan berulang-ulang sampai semua instruksi yang terdapat di memori utama dijalankan atau komputer dimatikan. Proses ini dikenal juga sebagai siklus fetch-eksekusi.
1. Sistem BUS

        Sistem Bus yaitu Jalur komunikasi yang dibagi pemakai Suatu set kabel tunggal yang digunakan untuk menghubungkan berbagai subsistem. Karakteristik penting sebuah bus ialah bahwa bus merupakan media transmisi yang dapat dipakai secara bersamaan. Sistem komputer terdiri dari sejumlah bus yang berlainan yang menyediakan jalan antara dua buah komponen pada bermacam-macam tingkatan hirarki sistem komputer.
         Suatu Komputer terdiri dengan beberapa unsur penting seperti CPU, memori, perangkat Input/Output. setiap computer saling terhubung dan membentuk saling terkait fungsinya. Sistem bus adalah penghubung bagi keseluruhan komponen computer dalam menjalankan tugasnya. Transfer data antara komputer sangatlah terkait dengan mendominasikan  kerja suatu computer. Data atau program yang tersimpan di sebuah memori dapat diakses dan dieksekusi CPU melalui bantuan sistem bus, dengan demikian kita dapat melihat hasil eksekusi melalui monitor juga menggunakan sistem bus.
- Cara Kerja Sistem BUS
  1. Pada sistem komputer akan lebih maju, jika arsitektur komputernya  diciptakan dengan lebih kompleks, sehingga tingkatannya lebih  performa, dan di pakai beberapa buah bus. Bus tersebut merupakan jalur akses data antara beberapa device yang berbeda.
  2. Dengan cara ini RAM, Prosesor, GPU (VGA AGP) dikaitkan oleh Otak bus dengan tegangan yang atau biasa disebut dengan sebutan FSB (Front Side Bus) .
  3. Sementara perangkat lain yang lebih lambat dihubungkan oleh bus yang tegangannya lebih rendah yang terkait dengan bus lain yang lebih cepat sampai ke Otak bus. Untuk komunikasi antar bus ini dapat digunakan sebuah bridge.
- Jenis BUS

Sedangkan jenis-jenis bus itu sendiri juga dikelompokkan berdasarkan masingmasing kriteria, tapi disini akan di jelaskan Jenis Bus menurut fungsinya masing - masing . Langsung saja berikut Jenis-jenis Bus Berdasarkan Fungsi :
§  Data Bus :
- Berfungsi untuk mengirim data, membawa data dari dan ke perangkat atau periferal
- Terdiri atas bagian tertentu atau jalur penghantar, 8, 16, 32 dan 64 bahkan lebih jalur paralel
- Data ditransmisikan dalam dua jalur, yaitu dari CPU atau mesin proseses ke unit memori atau modul I/O dan sebaliknya.
- Semakin lebar bus maka semakin besar data yang dapat dikirim sewaktu - waktu.
§  Control Bus:
- Berfungsi untuk mensinkronkan proses penerimaan dan pengiriman data.
- Untuk menentukan memori atau port agar siap ditulis atau dibaca.
- Sinyal Kontrol: RD, WR, IO/M
- Sinyal Read dan write : untuk mencari data dari perangkat
§  Address Bus:
- Membawa informasi agar dapat mengetahui tempat suatu perangkat atau periferal
- Untuk memilih tempat memori atau port yang akan ditulis atau dibaca
- Untuk mengatur rute data, muncul dari mana, tujuannya ke mana.
- Bersifat searah, cpu memberikan alamat yang bertujuan untuk mengatur periferal mana yang dituju. Contoh memori mana yang dicari atau I/O mana yang dituju.
- Semakin besar bus alamat, akan semakin banyak range lokasi tempat yang dapat di temukan.
- Jumlah alamat yang dapat dicari pada Bus alamat yaitu sebanyak jumlah yang di tentukan.

2. ALU

 - Pengertian ALU
Arithmatic Logical Unit (ALU), adalah salah satu bagian/komponen dalam sistem di dalam sistem komputer yang berfungsi melakukan operasi/perhitungan aritmatika dan logika (Contoh operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU bekerja besama-sama memori, di mana hasil dari perhitungan di dalam ALU di simpan ke dalam memori.
Perhitungan dalam ALU menggunakan kode biner, yang merepresentasikan instruksi yang akan dieksekusi (opcode) dan data yang diolah (operand). ALU biasanya menggunakan sistem bilangan biner (two’s complement). ALU mendapat data dari register. Kemudian data tersebut diproses dan hasilnya akan disimpan dalam register tersendiri yaitu ALU.

         - Operasi Pada ALU
Operasi aritmatika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. ALU melakukan operasi aritmatika yang lainnya seperti pengurangan, dan pembagian dilakukan dengan dasar penjumlahan. ALU melakukan operasi aritmatika dengan dasar pertambahan, sedang operasi aritmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. Sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi aritmatika ini disebut adder.

       - Tugas Dan Fungsi ALU
Tugas dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu :
a.           sama dengan (=)tidak sama dengan (<>)kurang dari (<)kurang atau sama dengan dari (<=)lebih besar dari (>)lebih besar atau sama dengan dari (>=)

        Arithmatic Logical Unit (ALU) Juga Bertugas membentuk fungsi – fungsi pengolahan data komputer. ALU sering disebut mesin bahasa (machine language) karena bagian ini mengerjakan instruksi – instruksi bahasa mesin yang diberikan padanya. ALU terdiri dari dua bagian, yaitu unit arithmetika dan unit logika boolean, yang masing – masing memiliki spesifikasi dan tugas tersendiri. Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain. Arithmetic Logical Unit (ALU) merupakan unit penalaran secara logic.
ALU ini merupakan Sirkuit CPU berkecepatan tinggi yang bertugas menghitung dan membandingkan. Angka-angka dikirim dari memori ke ALU untuk dikalkulasi dan kemudian dikirim kembali ke memori. Jika CPU diasumsikan sebagai otaknya komputer, maka ada suatu alat lain di dalam CPU tersebut yang kenal dengan nama Arithmetic Logical Unit (ALU), ALU inilah yang berfikir untuk menjalankan perintah yang diberikan kepada CPU tersebut.
ALU sendiri merupakan suatu kesatuan alat yang terdiri dari berbagai komponen perangkat elektronika termasuk di dalamnya sekelompok transistor, yang dikenal dengan nama logic gate, dimana logic gate ini berfungsi untuk melaksanakan perintah dasar matematika dan operasi logika. Kumpulan susunan dari logic gate inilah yang dapat melakukan perintah perhitungan matematika yang lebih komplit seperti perintah “add” untuk menambahkan bilangan, atau “devide” atau pembagian dari suatu bilangan. Selain perintah matematika yang lebih komplit, kumpulan dari logic gate ini juga mampu untuk melaksanakan perintah yang berhubungan dengan logika, seperti hasil perbandingan dua buah bilangan.
Instruksi yang dapat dilaksanakan oleh ALU disebut dengan instruction set. Perintah yang ada pada masing-masing CPU belum tentu sama, terutama CPU yang dibuat oleh pembuat yang berbeda, katakanlah misalnya perintah yang dilaksanakan oleh CPU buatan Intel belum tentu sama dengan CPU yang dibuat oleh Sun atau perusahaan pembuat mikroprosesor lainnya. Jika perintah yang dijalankan oleh suatu CPU dengan CPU lainnya adalah sama, maka pada level inilah suatu sistem dikatakan compatible. Sehingga sebuah program atau perangkat lunak atau software yang dibuat berdasarkan perintah yang ada pada Intel tidak akan bisa dijalankan untuk semua jenis prosesor,kecuali untuk prosesor yang compatible dengannya.
Seperti halnya dalam bahasa yang digunakan oleh manusia, instruction set ini juga memiliki aturan bahasa yang bisa saja berbeda satu dengan lainnya. Bandingkanlah beda struktur bahasa Inggris dengan Indonesia, atau dengan bahasa lainnya, begitu juga dengan instruction set yang ada pada mesin, tergantung dimana lingkungan instruction set itu digunakan.
Struktur dan cara kerja ALU

ALU akan bekerja setelah mendapat perintah dari Control Unit yang terletak pada processor. Control Unit akan memberi perintah sesuai dengan komando yang tertulis(terdapat) pada register. Jika isi register memberi perintah untuk melakukan proses penjumlahan, maka PC akan menyuruh ALU untuk melakukan proses penjumlahan. Selain perintah, register pun berisikan operand-operand. Setelah proses ALU selesai, hasil yang terbentuk adalah sebuah register yang berisi hasil atau suatu perintah lainnya. Selain register, ALU pun mengeluarkan suatu flag yang berfungsi untuk memberi tahu kepada kita tentang kondisi suatu processor seperti apakah processor mengalami overflow atau tidak.
ALU (Arithmethic and Logic Unit) adalah bagian dari CPU yang bertanggung jawab dalam proses komputasi dan proses logika. Semua komponen pada CPU bekerja untuk memberikan asupan kepada ALU sehingga bisa dikatakan bahwa ALU adalah inti dari sebuah CPU. Perhitungan pada ALU adalah bentuk bilangan integer yang direpresentasikan dengan bilangan biner. Namun, untuk saat ini, ALU dapat mengerjakan bilangan floating point atau bilangan berkoma, tentu saja dipresentasikan dengan bentuk bilangan biner. ALU mendapatkan data (operand, operator, dan instruksi) yang akan disimpan dalam register. Kemudian data tersebut diolah dengan aturan dan sistem tertentu berdasarkan perintah control unit. Setelah proses ALU dikerjakan, output akan disimpan dalam register yang dapat berupa sebuah data atau sebuah instruksi.
Selain itu, bentuk output yang dihasilkan oleh ALU berupa flag signal. Flag signal ini adalah penanda status dari sebuah CPU. Bilangan integer (bulat) tidak dikenal oleh komputer dengan basis 10. Agar komputer mengenal bilangan integer, maka para ahli komputer mengkonversi basis 10 menjadi basis 2. Seperti kita ketahui, bahwa bilangan berbasis 2 hanya terdiri atas 1 dan 0. Angka 1 dan 0 melambangkan bahwa 1 menyatakan adanya arus listrik dan 0 tidak ada arus listrik. Namun, untuk bilangan negatif, computer tidak mengenal simbol (-). Komputer hanya mengenal simbol 1 dan 0. Untuk mengenali bilangan negatif, maka digunakan suatu metode yang disebut dengan Sign Magnitude Representation. Metode ini menggunakan simbol 1 pada bagian paling kiri (most significant) bit. Jika terdapat angka 18 = (00010010)b, maka -18 adalah (10010010)b. Akan tetapi, penggunaan sign-magnitude memiliki 2 kelemahan. Yang pertama adalah terdaptnya -0 pada sign magnitude[0=(00000000)b; -0=(10000000)b].
Seperti kita ketahui, angka 0 tidak memiliki nilai negatif sehingga secara logika, sign-magnitude tidak dapat melakukan perhitungan aritmatika secara matematis. Yang kedua adalah, tidak adanya alat atau software satupun yang dapat mendeteksi suatu bit bernilai satu atau nol karena sangat sulit untuk membuat alat seperti itu. Oleh karena itu, penggunaan sign magnitude pada bilangan negatif tidak digunakan, akan tetapi diganti dengan metode 2′s complement. Metode 2′s complement adalah metode yang digunakan untuk merepresentasikan bilangan negatif pada komputer. Cara yang digunakan adalah dengan nilai terbesar dari biner dikurangin dengan nilai yang ingin dicari negatifnya. Contohnya ketika ingin mencari nilai -18, maka lakukan cara berikut:
1.             ubah angka 18 menjadi biner (00010010)b
2.             karena biner tersebut terdiri dari 8 bit, maka nilai maksimumnya adalah 11111111
3.             kurangkan nilai maksimum dengan biner 18 -> 11111111 – 00010010 = 11101101
4.             kemudian, dengan sentuhan terakhir, kita tambahkan satu -> 11101101 + 00000001 = 11101110
Dengan metode 2′s complement, kedua masalah pada sign magnitude dapat diselesaikan dan komputer dapat menjalankan. Namun, pada 2′s complement, nilai -128 pada biner 8 bit tidak ditemukan karena akan terjadi irelevansi.
3. Control Unit (CU)
      
Control Unit Adalah salah satu bagian dari CPU yang bertugas untuk memberikan arahan /kendali / kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalamCPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPUtersebut. Pada awal  – awal desain komputer, CU diimplementasikan sebagai ad-hoc logic  yang susahuntuk didesain. Sekarang, CU diimplementasikan sebagai sebuah microprogram yang disimpan didalam tempat penyimpanan kontrol (control store). Pada hardwire implementation control unitsebagai combinational circuit yang dibuat berdasarkan control signal yang akan dikeluarkan. Jadiuntuk setiap control signal memiliki rangkaian logika tertentu pada control unit yang dapatmenghasilkan control signal yang dimaksud. Secara umum untuk metode ini digunakan PLA(programmable logic array) untuk merepresentasikan control signal.Control unit dari sebuah prosesor memiliki 2 peran penting. Pertama, control unit mengatur  processor agar melakukan semua micro-operation dalam urutan yang benar. Kedua, control unitmenghasilkan control signal yang memastikan supaya semua micro-operation dieksekusi.Control signal tersebut secara umum menyebabkan salah satu dari hal berikut: pembukaanatau penutupan dari gerbang-gerbang logika, transfer data antara register-register, dan pengoperasianALU.
4. Register
            Register tidak dapat dilepaskan dari mikroprosessor, sebab pada mikroprosessor terdapat register yang berfungsi untuk menyimpan sementara hasil dari tahapan operasi arithmetika dan logika pada mikroprosessor. Register dalam bahasa rakitan menggunakan real mode memory yang sesuai dengan mikroprosessor Intel generasi 8088 s/d Pentium.
Register yang terdapat pada mikroprosessor Intel terdiri dari :
·         General purpose register (register serbaguna)
·         Pointer register (register pointer)
·         Index register (register indeks)
·         Segment register (register segment)
·         Flag register (register status).
Semua register di atas lebarnya 32 bit, kecuali register segment (CS, DS, ES, SS, FS dan GS) hanya 16 bit. Register 32 bit dapat digunakan sebagai register 16 bit, kecuali register General purpose register dapat dibagi menjadi 8 bit (AL,AH, BL, BH, CL, CH, DL dan DH) yang berasal dari 16 bit (AX, BX, CX, DX). Register 32 bit diberi kode di depan register dengan E misalnya: EAX, EBX, ECX dan EDX.
Macam-macam Jenis dan Fungsi Register. Berikut ini jenis dan fungsi dari masing-masing Register yaitu :
1.     General Purpose Register (Register Serbaguna)

a.   Register AX (Accumulator register) berfungsi sebagai tempat Sementara hasil suatu operasi arithmetika atau logika (AL, AH, AX dan EAX)
 Memasukkan nomor layanan interupsi, untuk keperluan pemesanan sebuah layanan interupsi (register AH).
- Menyimpan bilangan yang dikalikan (reg AL, AX, EAX) dan setengan bagian terkecil (LSB) dari hasil perkalian (register DX-AX dan EDX-EAX).
-Menyimpan setengah bagian terkecil(LSB) sebuah bilangan dibagi (DX-AX dan EDX-EAX) dan hasil bagi (AL, AX, EAX)
b.    Register BX (Base Register)  adalah register untuk menyimpan alamat offset data yang terletak di memori (BL, BH, BX dan EBX)
c.     Register CX (Counter Register) adalah register serbaguna yang berfungsi sebagai:
- Pencacah untuk operasi loop (CX dan ECX)
- Pencacah untuk operasi shift dan rotate (CL)
-Pencacah (counter) untuk operasi string (CX)
d.   Register DX (Data register) adalah register serbaguna yang berfungsi sebagai :
- Penyimpan hasil perkalian 16 bit (DX-AX) dan 32 bit (EDX-EAX).
- Penyimpan hasil pembagian (DX-AX dan EDX-EAX)
- Penyimpan data hexadesimal (kode ASCII) di reg DL untuk dicetak di layar monitor.
2. Pointer Register
Register ini untuk menunjukkan alamat sebuah data di lokasi memori, dipakai saat operasi perpindahan data (dari/ke memori), operasi stack (PUSH/POP) dan penunjukkan alamat suatu instruksi. Berikut adalah macam-macam pointer register: SP (Stack Pointer) dan ESP, BP (Base Pointer) dan IP (Instruction Pointer)
3. Index Register
Sama dengan pointer register, sering digunakan untuk menunjukkan alamat sebuah data di lokasi memori pada operasi string. Macam-macam register Index adalah : SI (Source Index), DI (Destination Index).

4.    Segment Register
Segment register membentuk alamat memori untuk data. Pada operasi real mode suatu segment register akan berbeda dengan segment register pada operasi protected mode. Yang termasuk ke dalam segment register antara lain :
Code segment -> untuk menunjukkan alamt instruksi berikutnya.
a.         Data segment -> untuk menunjukkan alamat data pada transfer register
b.         Extra segment -> register tambahan untuk operasi string
c.         Stack segment -> dengan SP u/ menunjukkan stack dan memanggil suatu prosedur (CALL) dan mengarah ke program utama (RET).
d.         FS dan GS register -> register tambahan u/ segmen memori yang besar.

5.     Flag Register
Berfungsi untuk menunjukkan status (keadaan) sesaat dari mikroprosessor. Bit-bit pada flag akan mengalami perubahan, tergantung proses yang baru saja berlangsung. Adapun kode bit yaitu sebagai berikut :
·          C (carry) -> 1=ada carry out 0= tdk ada carry out
·          P (Parity) -> 1=paritas genap 0= paritas ganjil
·          A (auxxiliary carry) -> 1=ada carry 0=tdk ada carry
·          Z (zero) -> 1=hasilnya nol 0=hasilnya bukan nol
·          S (sign) -> 1=hasilnya negatif 0=hasilnya positif
·          T (trap) -> bila diset 1 dimungkinkan melakukan debugging.
·          I (interrupt) -> 1= pin INTR enable 0=pin INTR disable
·          D (direction) -> 1=cacahan turun 0=cacahan naik
·          (Overflow) -> menunjukkan adanya kelebihan kapasitas atau tidak
·          IOPL (input-output privalege level) -> untuk protected mode
·          NT (nested task) -> indikasi dari penggabungan dengan operasi lain.
·          RF (resume) -> untuk debugging.
·          VF (Virtual mode) -> untuk operasi virtual pada protected mode.
·          AC (alignment check) -> untuk data word dialamati ke memori.
·          Register merupakan tempat menyimpan data sementara yang berada dalam CPU.
·          Register terdiri atas 5 bagian yaitu : General Purpose Register, Pointer Register, Index Register, Segment Register, Flag Register.
·          Fungsi setiap register bermacam-macam sesuai peruntukannya yang telah diatur oleh pembuat mikroprosesor.

Sumber: hasanudin.staff.gunadarma.ac.id/Downloads/files/32415/Central+Processing+Unit.doc
http://www.blognovi.com/2016/04/apa-itu-sistem-bus-dalam-komputer.html
http://www.kampusbaru.net/2016/03/pengertian-register-memory-alu-variabel.html
https://id.scribd.com/doc/151024992/Pengertian-Control-Unit

Jumat, 04 November 2016

Arsitektur Set Intruksi


Set instruksi sekumpulan lengkap instruksi yang dapat dimengerti oleh sebuah CPU Instruksinya berbentuk machine code (bahasa mesin), aslinya seluruhnya dalam bilangan biner Untuk programmer, biasanya digunakan representasi yang lebih mudah dimengerti  bahasa yang dapat dimengerti manusia, dikenal dengan bahasa Assembly. dengan sebuah perintah apa saja yang dapat dilakukan (didukung) oleh sebuah prosesor, dan biasanya terikat dengan sebuah keluarga arsitektur prosesor tertentu (misal x86, x64).





KARAKTERISTIK DAN FUNGSI 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).

ELEMEN-ELEMEN DARI INSTRUKSI MESIN (SET INSTRUKSI)
1. Ortogonalitas (sifat independensi instruksi)
2. Kompatibilitas :      
-  Source code compatibility Operation Code (opcode) : menentukan operasi yang akan dilaksanakan

- Source Operand Reference : merupakan input bagi operasi yang akan dilaksanakan

- Result Operand Reference : merupakan hasil dari operasi yang dilaksanakan

- Next instruction Reference : memberitahu CPU untuk mengambil (fetch) instruksi berikutnya setelah instruksi yang dijalankan selesai.
Source dan result operands dapat berupa salah satu diantara tiga jenis berikut ini:
nMain or Virtual Memory
nCPU Register
nI/O Device
  A. Jenis Intruksi  

  1. Data Processing (Pengolahan Data) adalah : instruksi-instruksi aritmetika dan logika. Instruksi aritmetika memiliki kemampuan untuk mengolah data numeric, sedangkan instruksi logika beroperasi pada bit-bit word sebagai bit bukan sebagai bilangan. Operasi-operasi tersebut dilakukan terutama untuk data di register CPU.
  1. Data Storage (Penyimpanan Data) adalah : instruksi-instruksi memori. Instruksi-instruksi memori diperlukan untuk memindah data yang terdapat di memori dan register.
  1. Data Movement (Perpindahan Data) adalah : instruksi I/O. Instruksi-instruksi I/O diperlukan untuk memindahkan program dan data ke dalam memori dan mengembalikan hasil komputansi kepada pengguna.
  • Control (Kontrol) adalah : instruksi pemeriksaan dan percabangan. Instruksi-instruksi control digunakan untuk memeriksa nilai data, status komputansi dan mencabangkan ke set instruksi lain.

    Contoh jenis-jenis intruksi













    B. Teknik Pengelamatan
     

    Untuk menyimpan data ke dalam memori komputer, tentu memori tersebut diberi identitas (yang disebut dengan alamat/ address) agar ketika data tersebut diperlukan kembali, komputer bisa mendapatkannya sesuai dengan data yang pernah diletakkan di sana.
    Untuk media penyimpanan yang bersifat sequential access storage device (SASD) seperti kaset (magnetic tape), alamat tersebut tidak terlalu dipusingkan karena pasti data disimpan secara berurutan (sequential/ consecutive) mulai dari depan hingga ke akhir bagian dari pita kaset. Begitu juga dengan data yang diorganisasi secara sequential, di alamat manapun data disimpan, data akan tetap diakses secara berurutan pula, mulai dari record pertama hingga ke record terakhir.
    Lain halnya dengan data yang diorganisasi secara relative yang disimpan di media penyimpanan yang bersifat direct access storage device (DASD), karena data yang akan diraih kembali, dituju langsung ke alamatnya tanpa melalui records lainnya (belum tentu dimulai dari data yang paling awal disimpan), maka alamat memori memegang peranan penting. Untuk itu, di catatan ini akan diterangkan beberapa cara melakukan penempatan data di memori agar kelak dapat diraih kembali dengan tepat, yang diberi judul “Teknik Pengalamatan.”
    Teknik pengalamatan ini hampir sudah tidak diperlukan lagi oleh pemakai komputer saat ini karena hampir seluruh software yang beredar di pasaran tidak mengharuskan si pemakai menentukan di alamat mana datanya akan disimpan (semua sudah otomatis dilakukan oleh si software). Jadi, yang kita pelajari adalah bagaimana kira-kira si software tersebut melakukan teknik pengalamatannya, sehingga data yang sudah kita berikan dapat disimpan di alamat memori tertentu dan dapat diambil kembali dengan tepat.
    Ada 3 teknik dasar untuk pengalamatan, yakni 1. Pemetaan langsung (direct mapping) yang terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan Pengalamatan relatif (relative addressing), 2. Pencarian Tabel (directory look-up), dan 3. Kalkulasi (calculating). Teknik pengelamatan terbgi 2 
    1. PENGALAMATAN MUTLAK
    Pandang, kita memiliki data teman-teman sekelas kita yang akan kita masukkan ke dalam memori (misal hard disk), data tersebut berjumlah 50 orang yang masing-masing terdiri atas atribut-atribut : NIM, NAMA, dan ALAMAT_RUMAH.
    Jika data tersebut kita masukkan dengan organisasi file sequential, maka jika kita mencari data NIM = ‘10105787’ yang namanya ‘ALI’ dan beralamat di ‘Jl. Margonda No. 100, Depok’, maka pencarian akan dilakukan mulai dari record pertama (data pertama yang dimasukkan), dan seterusnya menuju ke record terakhir sampai ketemu data yang dicari tersebut.
    Lain halnya jika data tersebut dimasukkan dengan organisasi file relative, maka data tersebut akan didapat secara langsung dari record yang dituju. Tentu, untuk langsung mendapatkan record yang dituju ada ‘sesuatu’ yang disebut dengan kunci atribut (key field). Kunci atribut itulah yang dikelola sedemikian rupa sehingga ‘kita’ bisa tahu dimana record tersebut disimpan.
    Untuk teknik pengalamatan ‘alamat mutlak’ ini, kita tidak terlalu mempermasalahkan kunci atribut karena kita diminta langsung menuliskan di mana alamat record yang akan kita masukkan. Jika kita menggunakan hard disk atau magnetic drum, ada dua cara dalam menentukan alamat memorinya, yaitu (1) cylinder addressing dan (2) sector addressing. Jika kita menggunakan cylinder addressing, maka kita harus menetapkan nomor-nomor dari silinder (cylinder), permukaan (surface), dan record, sedangkan bila kita menggunakan sector addressing, maka kita harus menetapkan nomor-nomor dari sektor (sector), lintasan (track), dan permukaan (surface). Teknik ini mudah dalam pemetaan (pemberian) alamat memorinya. Sulitnya pada pengambilan (retrieve) data kembali, jika data yang kita masukkan banyak, kita bisa lupa di mana alamat record tertentu, misalkan apakah kita ingat nomor record dari data NIM = ‘10105787’ yang namanya ‘ALI’ dan beralamat di ‘Jl. Margonda No. 100, Depok’ ?, apakah kita harus menghafal selamanya alamat-alamat tersebut ?. Pelajari keuntungan dan kerugian lainnya.
    Teknik ini dapat dijuluki dengan device dependent (tergantung pada peralatan rekamnya), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu menggunakan alat rekam yang berbeda spesifikasinya.
    Teknik ini juga dapat dijuluki dengan address space dependent (tergantung pada alamat-alamat yang masih kosong), artinya, kita tidak dapat begitu saja meng-copy data berkas ini ke komputer lainnya, karena mungkin saja di komputer lainnya itu alamat-alamat yang dibutuhkan sudah tidak tersedia lagi.

    2. PENGALAMATAN RELATIF
    Teknik ini menjadikan atribut kunci sebagai alamat memorinya, jadi, data dari NIM dijadikan bertipe numeric(integer) dan dijadikan alamat dari record yang bersangkutan. Cara ini memang sangat efektif untuk menemukan kembali record yang sudah disimpan, tetapi sangat boros penggunaan memorinya. Tentu alamat memori mulai dari 1 hingga alamat ke sekian juta tidak digunakan karena nilai dari NIM tidak ada yang kecil. Pelajari keuntungan dan kerugian lainnya.Teknik ini termasuk dalam katagori address space dependent.


    C. Disgn Set Intruksi
    Desain set instruksi merupakan masalah yang sangatkomplek yang melibatkan banyak aspek, diantaranya adalah:
    1. Kelengkapan set instruksi
    2. Ortogonalitas (sifat independensi instruksi)
    3. Kompatibilitas :

    - source code compatibility 
    -Object code Compatibility 

    Selain ketiga aspek tersebut juga melibatkan hal-hal sebagaiberikut :
    a. Operation Repertoire : Berapa banyak dan operasiapa saja yang disediakan, dan berapa sulitoperasinya
    b. Data Types : tipe/jenis data yang dapat olah
    c. Instruction Format : panjangnya, banyaknya alamat,dsb.
    d. Register : Banyaknya register yang dapat digunakan
    e. Addressing: Mode pengalamatan untuk operand


     Sumber :
    http://lecturer.ukdw.ac.id/mahas/dossier/arkom_08.pdf
    dewiluqi.staff.gunadarma.ac.id/Downloads/files/49318/BAB+9+set+instruksi.doc
    https://irwanzulkifli.wordpress.com/2015/12/17/set-instruksi-program-dan-jenis-jenis-instruksi/
    http://azarkowi.blogspot.co.id/2015/10/desain-set-instruksi-dan-contoh-jenis.html
    aqwam.staff.jak-stik.ac.id/files/5.-berkas-dan-akses[4].doc