ARSITEKTUR KONTRUKSI, SET INSTRUKSI DAN TEKNIK PENGALAMATAN DALAM KOMPUTER
Konstruksi merupakan suatu kegiatan
membangun sarana maupun prasarana. Dalam sebuah bidang arsitektur atau teknik sipil, sebuah konstruksi
juga dikenal sebagai bangunan atau satuan infrastruktur pada sebuah area
atau pada beberapa area. Secara ringkas konstruksi didefinisikan sebagai objek
keseluruhan bangun(an) yang terdiri dari bagian-bagian struktur. Misal,
Konstruksi Struktur Bangunan adalah bentuk/bangun secara keseluruhan dari
struktur bangunan. contoh lain: Konstruksi Jalan Raya, Konstruksi Jembatan,
Konstruksi Kapal, dan lain lain.
Konstruksi dapat juga didefinisikan
sebagai susunan (model, tata letak) suatu bangunan (jembatan, rumah, dan lain
sebagainya) Walaupun kegiatan konstruksi dikenal sebagai satu pekerjaan,
tetapi dalam kenyataannya konstruksi merupakan satuan kegiatan yang terdiri
dari beberapa pekerjaan lain yang berbeda.
Pada umumnya kegiatan konstruksi
diawasi oleh manajer proyek, insinyur disain, atau
asitek proyek. Orang-orang ini bekerja di dalam kantor, sedangkan
pengawasan lapangan biasanya diserahkan kepada mandor proyek
yang mengawasi buruh bangunan, tukang kayu, dan ahli
bangunan lainnya untuk menyelesaikan fisik sebuah
konstruksi.
Untuk keberhasilan pelaksanaan
proyek konstruksi, perencanaan yang efektif sangatlah penting. Hal ini
terkait dengan rancang-bangun (desain dan pelaksanaan) infrastruktur yang
mempertimbangkan mengenai dampak pada lingkungan / AMDAL, metode penentukan
besarnya biaya yang diperlukan / anggaran, disertai dengan jadwal perencanaan yang baik, keselamatan lingkungan
kerja, ketersediaan material bangunan, logistik, ketidaknyamanan publik terkait
dengan yang disebabkan oleh keterlambatan persiapan tender dan penawaran, dll
Set intruksi berupa jenis intruksi
teknik pengalamatan, system bust, CPU dan I/O Set Intruksi Mode & Format
Pengalamatan SET INSTRUKSI MATERI OR-AR KOMPUTER 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)
* 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:
- Main or Virtual Memory
- CPU Register
- I/O Device
DESAIN SET INSTRUKSI
Desain set instruksi merupakan
masalah yang sangat komplek yang melibatkan banyak aspek, diantaranya
adalah:
- Kelengkapan set instruksi
- Ortogonalitas (sifat independensi instruksi)
- Kompatibilitas : - Source code compatibility - Object code Compatibility
Selain ketiga aspek tersebut juga melibatkan hal-hal sebagai berikut:
- Operation Repertoire: Berapa banyak dan operasi apa saja yang disediakan, dan berapa sulit operasinya
- Data Types: tipe/jenis data yang dapat olah Instruction Format: panjangnya, banyaknya alamat, dsb.
- Register: Banyaknya register yang dapat digunakan 4.Addressing: Mode pengalamatan untuk operand
FORMAT INSTRUKSI
* Suatu instruksi terdiri dari
beberapa field yang sesuai dengan elemen dalam instruksi tersebut. Layout dari
suatu instruksi sering disebut sebagai Format Instruksi (Instruction
Format).
OPCODE OPERAND REFERENCE OPERAND REFERENCE JENIS-JENIS OPERAND
* Addresses (akan dibahas pada
addressing modes)
* Numbers : - Integer or fixed point
- Floating point - Decimal (BCD)
* Characters : - ASCII -
EBCDIC
* Logical Data : Bila data berbentuk
binary: 0 dan 1
JENIS INSTRUKSI
* Data processing: Arithmetic dan Logic Instructions
* Data storage: Memory
instructions
* Data Movement: I/O
instructions
* 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 :
1. Menetapkan alamat memori.
2. Menjalankan transformasi alamat memori virtual ke alamat memori
aktual.
3. Mengawali pembacaan / penulisan memori
Operasi set instruksi untuk transfer data :
* MOVE : memindahkan word atau blok dari sumber ke tujuan
* STORE : memindahkan word dari
prosesor ke memori.
* LOAD : memindahkan word dari
memori ke prosesor.
* EXCHANGE : menukar isi sumber ke
tujuan.
* CLEAR / RESET : memindahkan word 0
ke tujuan.
* SET : memindahkan word 1 ke
tujuan.
* PUSH : memindahkan word dari
sumber ke bagian paling atas stack.
* POP : memindahkan word dari bagian
paling atas sumber
ARITHMETIC
Tindakan CPU untuk melakukan operasi arithmetic :
- Transfer data sebelum atau sesudah.
- Melakukan fungsi dalam ALU.
- Menset kode-kode kondisi dan flag.
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. LOGICAL
* Tindakan CPU sama dengan arithmetic
* 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.
CONVERSI
Tindakan CPU sama dengan arithmetic dan logical.
* Instruksi yang mengubah format
instruksi yang beroperasi terhadap format data.
* Misalnya pengubahan bilangan
desimal menjadi bilangan biner.
* Operasi set instruksi untuk
conversi :
1. TRANSLATE : menterjemahkan
nilai-nilai dalam suatu bagian memori berdasrkan tabel korespodensi.
2. CONVERT : mengkonversi isi suatu
word dari suatu bentuk ke bentuk lainnya.
INPUT / OUPUT
* Tindakan CPU untuk melakukan INPUT /OUTPUT :
1. Apabila memory mapped I/O maka
menentukan alamat memory mapped.
2. Mengawali perintah ke modul
I/O
* 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 TRANSFER CONTROL
* Tindakan CPU untuk transfer control : Mengupdate program counter untuk subrutin , call / return.
* Operasi set instruksi untuk transfer control :
1. JUMP (cabang) : pemindahan tidak
bersyarat dan memuat PC dengan alamat tertentu.
2. JUMP BERSYARAT : menguji
persyaratan tertentu dan memuat PC dengan alamat tertentu atau tidak melakukan
apa tergantung dari persyaratan.
3. JUMP SUBRUTIN : melompat ke
alamat tertentu.
4. RETURN : mengganti isi PC dan
register lainnya yang berasal dari lokasi tertentu.
5. EXECUTE : mengambil operand dari
lokasi tertentu dan mengeksekusi sebagai instruksi
6. SKIP : menambah PC sehingga
melompati instruksi berikutnya.
7. SKIP BERSYARAT : melompat atau
tidak melakukan apa-apa berdasarkan pada persyaratan
8. HALT : menghentikan eksekusi
program.
9. WAIT (HOLD) : melanjutkan
eksekusi pada saat persyaratan dipenuhi
10. NO OPERATION : tidak ada operasi
yang dilakukan.
CONTROL SYSTEM
* Hanya dapat dieksekusi ketika prosesor berada dalam keadaan khusus tertentu atau sedang mengeksekusi suatu program yang berada dalam area khusus, biasanya digunakan dalam sistem operasi. * Contoh : membaca atau mengubah register kontrol.
JUMLAH ALAMAT (NUMBER OF ADDRESSES)
* Salah satu cara tradisional untuk menggambarkan arsitektur prosessor adalah dengan melihat jumlah alamat yang terkandung dalam setiap instruksinya.
* Jumlah alamat maksimum yang
mungkin diperlukan dalam sebuah instruksi :
1. Empat Alamat ( dua operand, satu
hasil, satu untuk alamat instruksi berikutnya)
2. Tiga Alamat (dua operand, satu
hasil)
3. Dua Alamat (satu operand
merangkap hasil, satunya lagi operand)
4. Satu Alamat (menggunakan
accumulator untuk menyimpan operand dan hasilnya)
Macam-macam instruksi menurut jumlah operasi yang dispesifikasikan
1. O – Address Instruction
2. 1 – Addreess Instruction.
3. N – Address Instruction
4. M + N – Address Instruction
Macam-macam instruksi menurut sifat akses terhadap memori atau register
1. Memori To Register
Instruction
2. Memori To Memori
Instruction
3. Register To Register Instruction
ADDRESSING MODES
Jenis-jenis addressing modes (Teknik Pengalamatan) yang paling umum:
* Immediate
* Direct
* Indirect
* Register
* Register Indirect
* Displacement
* Stack
Teknik Pengalamatan
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.
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 tiga teknik dasar untuk pengalamatan, yakni
· Pemetaan langsung (direct mapping) yang
terdiri dari dua cara yakni Pengalamatan Mutlak (absolute addressing) dan
Pengalamatan relatif (relative addressing),
· Pencarian
Tabel (directory look-up), dan
· Kalkulasi
(calculating)
Pemetaan Langsung
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.
Teknik Pencarian Tabel
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.
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 (kunci atribut) bersifat address space independent (tidak terpengaruh
terhadap perubahan organisasi file-nya), yang berubah hanyalah alamat yang ada
di INDEX-nya.
Teknik Kalkulasi Alamat
Perhitungan
(kalkulasi) terhadap nilai kunci atribut untuk mendapatkan nilai suatu alamat
disebut dengan fungsi hash.
Bisa juga fungsi hash digabungkan
dengan teknik pencarian seperti tabel di atas, tetapi akan menjadi lebih lama
pengerjaannya dibanding hanya dengan satu jenis saja (fungsi hash saja atau
pencarian tabel saja).
SUMBER :
· Serdiwansyah
N. A. Set Instruksi dan Teknik Pengalamatan Teknik Elektro Universitas Negri
Makasar
· http://raditfa.blogspot.com/2012/11/arsitektur-set-instruksi-dan-teknik.html
Tidak ada komentar:
Posting Komentar