Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Pemrograman Mikroprosesor

"Kosakata" instruksi yang dimiliki oleh chip mikroprosesor tertentu khusus untuk model chip tersebut. Intel 80386, misalnya, menggunakan rangkaian kode biner yang sama sekali berbeda dari Motorola 68020, untuk menetapkan fungsi yang setara.

Sayangnya, tidak ada standar untuk instruksi mikroprosesor. Hal ini membuat pemrograman pada tingkat yang paling rendah menjadi sangat membingungkan dan terspesialisasi.

Ketika seorang programmer manusia mengembangkan serangkaian instruksi untuk secara langsung memberi tahu mikroprosesor bagaimana melakukan sesuatu (seperti secara otomatis mengontrol laju injeksi bahan bakar ke mesin), mereka memprogram dalam "bahasa" CPU sendiri. Bahasa ini, yang terdiri dari kode biner yang sama yang didekode oleh Unit Kontrol di dalam chip CPU untuk melakukan tugas, sering disebut sebagai bahasa mesin .

Sementara perangkat lunak bahasa mesin dapat "ditulis" dalam notasi biner, sering ditulis dalam bentuk heksadesimal, karena lebih mudah bagi manusia untuk bekerja dengannya. Sebagai contoh, saya akan menyajikan beberapa kode instruksi umum untuk chip mikroprosesor Intel 8080:

Deskripsi Instruksi Biner Heksadesimal ----------- -------- ------------------------------- ---------- | 7B 01111011 Pindahkan isi register A ke register E | | 87 10000111 Tambahkan isi register A ke register D | | 1C 00011100 Menaikkan isi register E sebesar 1 | | D3 11010011 Output byte data ke bus data 

Bahkan dengan notasi heksadesimal, instruksi ini dapat dengan mudah dikacaukan dan dilupakan. Untuk tujuan ini, ada bantuan lain untuk programmer yang disebut bahasa rakitan .

Dengan bahasa rakitan, kata mnemonik dua hingga empat huruf digunakan sebagai pengganti kode hex atau biner yang sebenarnya untuk menjelaskan langkah-langkah program. Misalnya, instruksi 7B untuk Intel 8080 akan menjadi “MOV A,E ” dalam bahasa rakitan.

Mnemonik, tentu saja, tidak berguna bagi mikroprosesor, yang hanya dapat memahami kode biner, tetapi ini adalah cara yang tepat bagi pemrogram untuk mengatur penulisan program mereka di atas kertas atau editor teks (pengolah kata). Bahkan ada program yang ditulis untuk komputer yang disebut assemblers yang memahami mnemonik ini, menerjemahkannya ke kode biner yang sesuai untuk mikroprosesor target yang ditentukan, sehingga programmer dapat menulis program dalam bahasa asli komputer tanpa harus berurusan dengan hex aneh atau notasi kode biner yang membosankan.

Setelah sebuah program dikembangkan oleh seseorang, itu harus ditulis ke dalam memori sebelum mikroprosesor dapat mengeksekusinya. Jika program akan disimpan dalam ROM (beberapa di antaranya), ini dapat dilakukan dengan mesin khusus yang disebut ROM programmer , atau (jika Anda masokis), dengan mencolokkan chip ROM ke papan tempat memotong roti, menyalakannya dengan voltase yang sesuai, dan menulis data dengan membuat sambungan kabel yang tepat ke alamat dan jalur data, satu per satu, untuk masing-masing instruksi.

Jika program akan disimpan dalam memori yang mudah menguap, seperti memori RAM komputer yang beroperasi, mungkin ada cara untuk mengetiknya dengan tangan melalui keyboard komputer tersebut (beberapa komputer memiliki program mini yang disimpan dalam ROM yang memberitahu mikroprosesor bagaimana caranya? untuk menerima penekanan tombol dari keyboard dan menyimpannya sebagai perintah di RAM), meskipun terlalu bodoh untuk melakukan hal lain.

Banyak perangkat komputer "hobi" bekerja seperti ini. Jika komputer yang akan diprogram adalah komputer pribadi yang berfungsi penuh dengan sistem operasi, drive disk, dan semuanya berfungsi, Anda dapat dengan mudah memerintahkan assembler untuk menyimpan program yang telah selesai ke dalam disk untuk pengambilan nanti.

Untuk "menjalankan" program Anda, Anda cukup mengetikkan nama file program Anda pada prompt, tekan tombol Enter, dan register Program Counter mikroprosesor akan diatur untuk menunjuk ke lokasi ("alamat") pada disk di mana instruksi pertama adalah disimpan, dan program Anda akan berjalan dari sana.

Meskipun pemrograman dalam bahasa mesin atau bahasa rakitan menghasilkan program yang cepat dan sangat efisien, dibutuhkan banyak waktu dan keterampilan untuk melakukannya kecuali untuk tugas yang paling sederhana, karena setiap instruksi bahasa mesin sangat kasar. Jawabannya adalah mengembangkan cara bagi programmer untuk menulis dalam bahasa “tingkat tinggi”, yang dapat mengekspresikan pemikiran manusia secara lebih efisien. Alih-alih mengetikkan lusinan kode bahasa rakitan yang samar, seorang programmer yang menulis dalam bahasa tingkat tinggi akan dapat menulis sesuatu seperti ini. . .

Cetak "Halo, dunia!" 

. . . dan mengharapkan komputer untuk mencetak "Halo, dunia!" tanpa instruksi lebih lanjut tentang cara melakukannya. Ini adalah ide yang bagus, tetapi bagaimana mikroprosesor memahami pemikiran "manusia" seperti itu ketika kosakatanya sangat terbatas?

Jawabannya datang dalam dua bentuk berbeda:interpretasi , atau kompilasi . Sama seperti dua orang yang berbicara bahasa yang berbeda, harus ada cara untuk mengatasi hambatan bahasa agar mereka dapat berkomunikasi.

Seorang penerjemah diperlukan untuk menerjemahkan kata-kata setiap orang ke bahasa orang lain, satu per satu. Untuk mikroprosesor, ini berarti program lain, yang ditulis oleh programmer lain dalam bahasa mesin, yang mengenali pola karakter ASCII dari perintah tingkat tinggi seperti Print (Cetak) dan dapat menerjemahkannya ke dalam langkah-langkah ukuran gigitan yang diperlukan yang mikroprosesor dapat secara langsung mengerti.

Jika penerjemahan ini dilakukan selama eksekusi program, seperti penerjemah yang mengintervensi antara dua orang dalam percakapan langsung, itu disebut “interpretasi.” Di sisi lain, jika seluruh program diterjemahkan ke bahasa mesin dalam satu gerakan, seperti penerjemah yang merekam monolog di atas kertas dan kemudian menerjemahkan semua kata sekaligus ke dalam dokumen tertulis dalam bahasa lain, prosesnya disebut “ kompilasi.”

Interpretasinya sederhana, tetapi membuat program berjalan lambat karena mikroprosesor harus terus-menerus menerjemahkan program di antara langkah-langkah, dan itu membutuhkan waktu. Kompilasi pada awalnya membutuhkan waktu untuk menerjemahkan seluruh program ke dalam kode mesin, tetapi kode mesin yang dihasilkan tidak memerlukan terjemahan setelah itu dan akibatnya berjalan lebih cepat.

Bahasa pemrograman seperti BASIC dan FORTH diinterpretasikan. Bahasa seperti C, C++, FORTRAN, dan PASCAL dikompilasi. Bahasa yang dikompilasi umumnya dianggap sebagai bahasa pilihan bagi programmer profesional, karena efisiensi produk akhir.

Tentu saja, karena kosakata bahasa mesin sangat bervariasi dari mikroprosesor ke mikroprosesor, dan karena bahasa tingkat tinggi dirancang seuniversal mungkin, program interpretasi dan kompilasi yang diperlukan untuk terjemahan bahasa harus spesifik mikroprosesor.

Pengembangan penerjemah dan kompiler ini adalah prestasi yang paling mengesankan:orang-orang yang membuat program ini pasti mendapatkan penghasilan mereka, terutama ketika Anda mempertimbangkan pekerjaan yang harus mereka lakukan untuk menjaga produk perangkat lunak mereka tetap mutakhir dengan model mikroprosesor yang berubah dengan cepat muncul di pasar !

Untuk mengurangi kesulitan ini, pembuat tren chip mikroprosesor (terutama, Intel dan Motorola) mencoba merancang produk baru mereka agar kompatibel ke belakang dengan produk lama mereka. Misalnya, seluruh rangkaian instruksi untuk chip Intel 80386 terdapat dalam chip Pentium IV terbaru, meskipun chip Pentium memiliki instruksi tambahan yang tidak dimiliki oleh chip 80386.

Artinya, program bahasa mesin (kompiler juga) yang ditulis untuk 80386 komputer akan berjalan pada CPU Intel Pentium IV terbaru dan terhebat, tetapi program bahasa mesin yang ditulis khusus untuk memanfaatkan set instruksi Pentium yang lebih besar tidak akan berjalan pada sebuah 80386, karena CPU yang lebih lama tidak memiliki beberapa instruksi tersebut dalam kosakatanya:Unit Kontrol di dalam 80386 tidak dapat memecahkan kodenya.

Berdasarkan tema ini, sebagian besar kompiler memiliki pengaturan yang memungkinkan pemrogram untuk memilih jenis CPU yang ingin dia kompilasi untuk kode bahasa mesin. Jika mereka memilih pengaturan 80386, kompilator akan melakukan terjemahan hanya dengan menggunakan instruksi yang diketahui oleh chip 80386; jika mereka memilih pengaturan Pentium, kompilator bebas menggunakan semua instruksi yang diketahui Pentium.

Ini analog dengan memberi tahu penerjemah berapa tingkat membaca minimum audiens mereka:dokumen yang diterjemahkan untuk anak-anak akan dapat dimengerti oleh orang dewasa, tetapi dokumen yang diterjemahkan untuk orang dewasa mungkin sangat tidak masuk akal bagi seorang anak.

LEMBAR KERJA TERKAIT:


Teknologi Industri

  1. 10 Bahasa Pemrograman Cloud Paling Keren
  2. Operator Pemrograman C
  3. Bahasa Pemrograman C PDF:Tutorial Dasar untuk Pemula
  4. Bosque:Bahasa Pemrograman Baru Microsoft Tanpa Loop
  5. 9 Bahasa Pemrograman Baru Untuk Dipelajari Pada Tahun 2021
  6. C Tutorial
  7. Bahasa C - Ikhtisar
  8. C - Struktur Program
  9. C# - Ikhtisar
  10. Heidenhain Merilis Program Pelatihan CNC Online