Bahasa Mesin Komputer
Kode mesin atau bahasa mesin adalah
sistem instruksi dan data yang dijalankan langsung oleh komputer central
processing unit. Kode mesin dapat dianggap sebagai primitif (dan rumit)
atau sebagai bahasa pemrograman tingkat terendah representasi dari
disusun dan / atau program komputer rakitan. Program dalam menafsirkan
bahasa tidak diwakili oleh kode mesin tetapi, walaupun penerjemah
mereka (yang dapat dilihat sebagai sebuah prosesor melaksanakan program
tingkat yang lebih tinggi) sering terjadi. Kode mesin kadang-kadang
disebut kode asli ketika mengacu pada platform-bagian dari bahasa
tergantung fitur atau perpustakaan. kode Mesin tidak boleh disamakan
dengan apa yang disebut “bytecode”, yang dilaksanakan oleh seorang juru
bahasa.
Kode Mesin Instruksi
Setiap prosesor atau keluarga prosesor
memiliki set instruksi kode mesin. Instruksi pola bit yang oleh desain
fisik sesuai dengan perintah yang berbeda ke mesin. Set instruksi
demikian khusus untuk kelas prosesor menggunakan (banyak) arsitektur
yang sama. Penerus atau derivatif desain prosesor sering mencakup semua
instruksi dari pendahulunya dan dapat menambah petunjuk tambahan.
Kadang-kadang desain pengganti akan menghentikan atau mengubah arti dari
beberapa kode instruksi (biasanya karena dibutuhkan untuk keperluan
baru), kode yang mempengaruhi kompatibilitas sampai batas tertentu,
bahkan hampir sepenuhnya kompatibel dengan prosesor mungkin akan
menampilkan perilaku yang sedikit berbeda untuk beberapa instruksi
tetapi ini jarang yang masalah. Sistem mungkin juga berbeda dalam
rincian lainnya, seperti pengaturan memori, sistem operasi, atau
perangkat periferal; karena biasanya program bergantung pada
faktor-faktor seperti, sistem yang berbeda akan biasanya tidak
menjalankan kode mesin yang sama, bahkan ketika jenis prosesor yang sama
digunakan.
Sebuah set instruksi kode mesin mungkin
memiliki semua instruksi yang sama panjang, atau hal itu mungkin karena
panjang variabel-instruksi. Bagaimana pola diorganisir sangat bervariasi
dengan arsitektur tertentu dan sering juga dengan jenis instruksi.
Sebagian besar instruksi memiliki satu atau lebih opcode bidang yang
menentukan jenis instruksi dasar (seperti aritmatika, logis, melompat,
dll) dan operasi sebenarnya (seperti menambah atau membandingkan) dan
bidang lain yang mungkin memberikan jenis operand (s) , mode
pengalamatan (s), pengalamatan offset (s) atau indeks, atau nilai aktual
itu sendiri (Operand konstan seperti yang terdapat dalam sebuah
instruksi disebut immediates).
Program
Sebuah program komputer adalah suatu
urutan instruksi yang dijalankan oleh CPU. Sementara prosesor
mengeksekusi instruksi sederhana satu demi satu, prosesor superscalar
mampu menjalankan beberapa instruksi sekaligus. Program aliran mungkin
dipengaruhi oleh khusus ‘melompat’ instruksi yang mentransfer eksekusi
ke instruksi lain dari yang di bawah satu. Lompatan bersyarat diambil
(eksekusi berlanjut pada alamat lain) atau tidak (eksekusi berlanjut
pada instruksi berikutnya) tergantung pada beberapa kondisi.
Bahasa Assembly
Yang jauh lebih mudah dibaca rendition of
bahasa mesin, disebut bahasa assembly, menggunakan kode mnemonic untuk
merujuk pada instruksi kode mesin, bukan hanya menggunakan instruksi
“nilai numerik. Sebagai contoh, pada prosesor Zilog Z80, kode mesin
00.000.101, yang menyebabkan CPU untuk pengurangan prosesor B mendaftar,
akan diwakili dalam bahasa assembly sebagai Desember B.
Contoh
Arsitektur MIPS memberikan contoh khusus
untuk instruksi kode mesin yang selalu 32 bit panjang. Jenis umum
instruksi yang diberikan oleh op (operasi) bidang, 6 bit tertinggi.
J-jenis (melompat) dan I-jenis (langsung) instruksi sepenuhnya
ditentukan oleh op. R-type (pendaftaran) instruksi meliputi bidang
tambahan Fungsi untuk menentukan operasi yang tepat. Kolom yang
digunakan dalam tipe ini adalah:
rs, rt, dan rd menunjukkan daftar Operand; shamt memberikan jumlah pergeseran dan alamat atau lapangan langsung berisi operand langsung.
rs, rt, dan rd menunjukkan daftar Operand; shamt memberikan jumlah pergeseran dan alamat atau lapangan langsung berisi operand langsung.
Misalnya menambahkan register 1 dan 2 dan menempatkan hasilnya dalam register 6 dikodekan:
Memanggil sebuah nilai ke dalam register 8, diambil dari memori sel sel setelah lokasi 68 yang tercantum dalam register 3:
Melompat ke alamat 1024
Hubungan terfokus
Memanggil sebuah nilai ke dalam register 8, diambil dari memori sel sel setelah lokasi 68 yang tercantum dalam register 3:
Melompat ke alamat 1024
Hubungan terfokus
Dalam beberapa arsitektur komputer, kode
mesin ini diterapkan oleh lapisan yang lebih mendasar dari program yang
disebut microprograms, menyediakan antarmuka bahasa mesin Common
melintasi sebuah garis atau keluarga model yang berbeda dengan komputer
yang mendasari dataflows sangat berbeda. Hal ini dilakukan untuk
memfasilitasi port dari program bahasa mesin antara model yang berbeda.
Contoh dari penggunaan ini adalah IBM System/360 komputer keluarga dan
para penerus mereka. Dengan jalan dataflow lebar dari 8 bit dengan 64
bit dan seterusnya, mereka tetap menyajikan sebuah arsitektur umum pada
tingkat bahasa mesin di seluruh baris.
Menggunakan lapisan terfokus untuk
menerapkan sebuah emulator memungkinkan komputer untuk menyajikan
arsitektur komputer yang sama sekali berbeda. Baris System/360 ini
digunakan untuk mengizinkan program port dari mesin IBM sebelumnya untuk
keluarga baru komputer, misalnya IBM 1401/1440/1460 emulator pada IBM
S/360 model 40.
Tidak ada komentar:
Posting Komentar