200 likes | 407 Views
11. Set Intruksi : Teknik Pengalamatan. By Serdiwansyah N. A. Teknik Pengalamatan.
E N D
11. Set Intruksi : TeknikPengalamatan By Serdiwansyah N. A.
TeknikPengalamatan • Untukmenyimpan data kedalammemorikomputer, tentumemoritersebutdiberiidentitas (yang disebutdenganalamat/ address) agar ketika data tersebutdiperlukankembali, komputerbisamendapatkannyasesuaidengan data yang pernahdiletakkan di sana. • Teknikpengalamataninihampirsudahtidakdiperlukanlagiolehpemakaikomputersaatinikarenahampirseluruh software yang beredar di pasarantidakmengharuskansipemakaimenentukan di alamatmanadatanyaakandisimpan (semuasudahotomatisdilakukanolehsi software). • Jadi, yang kitapelajariadalahbagaimanakira-kirasi software tersebutmelakukanteknikpengalamatannya, sehingga data yang sudahkitaberikandapatdisimpan di alamatmemoritertentudandapatdiambilkembalidengantepat. Set Intruksi : TeknikPengalamatan
TeknikPengalamatan • Ada 3 teknikdasaruntukpengalamatan, yakni • Pemetaanlangsung (direct mapping) yang terdiridariduacarayakniPengalamatanMutlak (absolute addressing) danPengalamatanrelatif (relative addressing), • PencarianTabel (directory look-up), dan • Kalkulasi(calculating). Set Intruksi : TeknikPengalamatan
PemetaanLangsung : PengalamatanMutlak • 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 tersebutkitamasukkandenganorganisasi file sequential, makajikakitamencari data NIM = ‘10105787’ yang namanya ‘ALI’ danberalamat di ‘Jl. Margonda No. 100, Depok’, makapencarianakandilakukanmulaidari record pertama (data pertama yang dimasukkan), danseterusnyamenujuke record terakhirsampaiketemu data yang dicaritersebut. Set Intruksi : TeknikPengalamatan
PemetaanLangsung : PengalamatanMutlak • Untukteknikpengalamatan ‘alamatmutlak’ ini, kitatidakterlalumempermasalahkankunciatributkarenakitadimintalangsungmenuliskan di manaalamat record yang akankitamasukkan. Jikakitamenggunakan hard disk atau magnetic drum, adaduacaradalammenentukanalamatmemorinya, yaitu (1) cylinder addressing dan (2) sector addressing. • Jikakitamenggunakan cylinder addressing, makakitaharusmenetapkannomor-nomordarisilinder (cylinder), permukaan (surface), danrecord. • Sedangkanbilakitamenggunakan sector addressing, makakitaharusmenetapkannomor-nomordarisektor (sector), lintasan (track), danpermukaan (surface). Set Intruksi : TeknikPengalamatan
PemetaanLangsung : PengalamatanMutlak • Teknikinimudahdalampemetaan (pemberian) alamatmemorinya. Sulitnyapadapengambilan (retrieve) data kembali, jika data yang kitamasukkanbanyak, kitabisalupa di manaalamat record tertentu. • Misalkanapakahkitaingatnomor record dari data NIM = ‘10105787’ yang namanya ‘ALI’ danberalamat di ‘Jl. Margonda No. 100, Depok’ ?, apakahkitaharusmenghafalselamanyaalamat-alamattersebut ?. Pelajarikeuntungandankerugianlainnya. Set Intruksi : TeknikPengalamatan
PemetaanLangsung : PengalamatanMutlak • 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. • Teknikinijugadapatdijulukidengan address space dependent (tergantungpadaalamat-alamat yang masihkosong), artinya, kitatidakdapatbegitusajameng-copy data berkasinikekomputerlainnya, karenamungkinsaja di komputerlainnyaitualamat-alamat yang dibutuhkansudahtidaktersedialagi. Set Intruksi : TeknikPengalamatan
PemetaanLangsung : PengalamatanRelatif • Teknikinimenjadikanatributkuncisebagaialamatmemorinya, jadi, data dari NIM dijadikanbertipe numeric(integer) dandijadikanalamatdari record yang bersangkutan. • Cara inimemangsangatefektifuntukmenemukankembali record yang sudahdisimpan, tetapisangatborospenggunaanmemorinya. Tentualamatmemorimulaidari 1 hinggaalamatkesekianjutatidakdigunakankarenanilaidari NIM tidakada yang kecil. • Pelajarikeuntungandankerugianlainnya. • Teknikinitermasukdalamkatagori address space dependent. Set Intruksi : TeknikPengalamatan
TeknikPencarianTabel • Teknik ini dilakukan dengan cara, mengambil seluruh kunci atribut dan alamat memori yang ada dan dimasukkan ke dalam tabel tersendiri. Jadi tabel itu (misal disebut dengan tabel INDEX) hanya berisi kunci atribut (misalkan NIM) yang telah disorting (diurut) dan alamat memorinya. • Jadi, sewaktudilakukanpencarian data, tabel yang pertamadibacaadalahtabel INDEX itu, setelahditemukanatributkuncinya, maka data alamat yang ada di sanadigunakanuntukmeraihalamat record dari data (berkas/ file/ tabel) yang sebenarnya. Set Intruksi : TeknikPengalamatan
TeknikPencarianTabel • Pencarian yang dilakukan di tabel INDEX akan lebih cepat dilakukan dengan teknik pencarian melalui binary search (dibagi dua-dua, ada di mata kuliah Struktur dan Organisasi Data 2 kelak) ketimbang dilakukan secara sequential. • Nilai key field (kunciatribut) bersifat address space independent (tidakterpengaruhterhadapperubahanorganisasi file-nya), yang berubahhanyalahalamat yang ada di INDEX-nya. Set Intruksi : TeknikPengalamatan
TeknikKalkulasiAlamat • Kalaupadateknikpencariantabelkitaharusmenyediakanruangmemoriuntukmenyimpantabel INDEX-nya, makapadateknikinitidakdiperlukanhalitu. Yang dilakukan di siniadalahmembuathitungansedemikianrupasehinggadenganmemasukkankunciatribut record-nya, alamatnyasudahdapatdiketahui. • Tinggalmasalahnya, bagaimanamembuathitungandarikunciatributitusehinggahasilnyabisaefisien (dalampenggunaanmemori) dantidakberbenturannilainya (menggunakanalamat yang sama). Set Intruksi : TeknikPengalamatan
TeknikKalkulasiAlamat • Misal, untuk data si ALI di atas yang memiliki NIM = ‘10105787’, di manaakankitaletakkan ?. Bila yang kitalakukanadalahperhitungan : INT(VAL(NIM)/1000000) makahaslinyaadalah 10, dengandemikian data si ALI akandisimpan di alamat 10. • Tapi, apakahalamat 10 itutidakakandigunakanoleh data lain denganperhitungan yang sama ?, ternyatatidak. Untuk data si BADU yang NPMnya ’10105656’ juga di alamattersebut, danternyatamasihbanyakjuga yang ’rebutan’ untukmenempatialamattersebutjikadilakukandenganperhitunganseperti di atas. Set Intruksi : TeknikPengalamatan
TeknikKalkulasiAlamat • Perhitungan (kalkulasi) terhadapnilaikunciatributuntukmendapatkannilaisuatualamatdisebutdenganfungsi hash. • Bisajugafungsi hash digabungkandenganteknikpencariansepertitabel di atas, tetapiakanmenjadilebih lama pengerjaannyadibandinghanyadengansatujenissaja (fungsi hash sajaataupencariantabelsaja). Set Intruksi : TeknikPengalamatan
Desain Set Instruksi • Desainset instruksimerupakanmasalah yang sangatkomplek yang melibatkanbanyakaspek, diantaranyaadalah: • Kelengkapanset instruksi • Ortogonalitas(sifatindependensiinstruksi) • Kompatibilitas: • Source code compatibility • Object code Compatibility Set Intruksi : TeknikPengalamatan
Desain Set Instruksi • Selainketigaaspektersebutjugamelibatkanhal-halsebagaiberikut: • Operation Repertoire • Berapabanyakdanoperasiapasaja yang disediakan, danberapasulitoperasinya. • Data Types • Tipe/jenisdata yang dapatolah Instruction Format: panjangnya, banyaknyaalamat, dsb. • Register • Banyaknyaregister yang dapatdigunakan. • Addressing • Mode pengalamatanuntukoperand. Set Intruksi : TeknikPengalamatan
Format danJenisInstruksi • Suatuinstruksiterdiridaribeberapafield yang sesuaidenganelemendalaminstruksitersebut. Layout darisuatuinstruksiseringdisebutsebagai Format Instruksi (Instruction Format). • Gambar 2. • JenisInstruksi : • Data processing: Arithmetic dan Logic Instructions • Data storage: Memory instructions • Data Movement: I/O instructions • Control: Test and branch instructions Set Intruksi : TeknikPengalamatan
Transfer Data • Menetapkanlokasi operand sumberdan operand tujuan. • Lokasi-lokasitersebutdapatberupamemori, register ataubagian paling atasdaripada stack. • Menetapkanpanjang data yang dipindahkan. • Menetapkanmode pengalamatan. • TindakanCPU untukmelakukan transfer data adalah : • Memindahkandata darisatulokasikelokasilain. • Apabilamemoridilibatkan : • Menetapkanalamatmemori. • Menjalankantransformasialamatmemori virtual kealamatmemoriaktual. • Mengawalipembacaan / penulisanmemori Set Intruksi : TeknikPengalamatan
Transfer Data • Operasiset instruksiuntuk transfer data : • MOVE : memindahkan word ataublokdarisumberketujuan • STORE : memindahkan word dariprosesorkememori. • LOAD : memindahkan word darimemorikeprosesor. • EXCHANGE : menukarisisumberketujuan. • CLEAR / RESET : memindahkan word 0 ketujuan. • SET : memindahkan word 1 ketujuan. • PUSH : memindahkan word darisumberkebagian paling atas stack. • POP : memindahkan word daribagian paling atassumber Set Intruksi : TeknikPengalamatan