JavaRush /Blog Java /Random-MS /Secara teori tentang bytecode, JVM dan mikropengawal | Ko...
Gro
Tahap
Минск

Secara teori tentang bytecode, JVM dan mikropengawal | Kod Java untuk MK

Diterbitkan dalam kumpulan
Draf artikel. Akhirnya, saya akan menulis beberapa artikel seperti wiki, mengikut skema berikut:

Topik: Di mana dan bagaimana Java berfungsi
- Mengenai struktur Java
- Mengenai perkakasan
- Bagaimana perisian ini berfungsi pada perkakasan

Artikel itu adalah mengenai masalah yang saya hadapi. Setelah mengkaji maklumat itu, saya menambahnya dengan jawapan.
Ia adalah campuran topik di atas.

hello!

Prakata. (Di luar topik)
Saya mempunyai dan masih mempunyai keinginan yang semakin meningkat untuk membina beberapa jenis unit fizikal sepenuhnya.
Unit berdasarkan satu idea mudah yang benar-benar menyerap saya.
Idea yang menetapkan hala tuju pembangunan saya untuk sepuluh tahun akan datang.
Secara teorinya, reka bentuk peranti sudah separuh siap, melaksanakan sedikit keupayaan colossus yang dirancang itu.

Sekarang, apabila memuktamadkan reka bentuk separuh siap, setelah melibatkan diri dalam komponen dengan lebih terperinci, saya berhadapan dengan keperluan untuk mengawal servomotors dan, dengan itu, memprogramkan beberapa "otak".

Di sinilah satu siri soalan masuk, yang boleh diringkaskan dalam "Adakah mungkin, dan bagaimana, untuk memaksa MK melaksanakan kod java?"




Badan. Butiran tentang soalan.
Kami ingat bahawa kod java yang kami tulis ditukar kepada kod bait, yang seterusnya, ditafsirkan oleh JVM ke dalam kod mesin, kod yang terdiri daripada arahan yang difahami oleh perkakasan. Semua orang memahami sebab untuk situasi tertentu ini - mudah alih/mudah alih ditambah dengan kelajuan yang lebih tinggi (berbanding dengan bahasa yang ditafsirkan secara ringkas).

Selepas saya mengetahui ini, saya mempunyai soalan yang masih belum dijawab, muncul dan ditambah dengan soalan baru sekarang.
1. Adakah mungkin, menggunakan alat JVM standard, menukar sepenuhnya semua kod bait kepada kod mesin sekaligus / Menyusunnya?
jika palsu.Adakah terdapat alat pihak ketiga? Sekurang-kurangnya entah bagaimana?

2. Adakah JVM menyokong mikropengawal/pengawal? (Saya tidak tahu banyak tentang "otak" besi; jika sesiapa tahu, sila beritahu saya).
jika benar. Adakah terdapat sebarang perbezaan/ciri khas daripada bekerja pada PC biasa kami?




Dikemas kini! 09.04
Kira-kira 1. Tidak mungkin untuk menjalankan kod ke kelajuan mesin menggunakan alat standard (bermaksud JVM), sekurang-kurangnya itulah yang wiki memberitahu kami , tetapi dari situ ia menjadi jelas bahawa terdapat alat pihak ketiga - GCJ . Ia adalah alternatif kepada JVM dan mempunyai bonus yang bagus dalam senjatanya. Saya tidak dapat mencari maklumat tepat tentang platform (perkakasan) yang kompilasinya disokong - "banyak".
Perbezaan antara kod bait dan kod asli:
1) kod asli bermula lebih cepat
2) Tiada jaminan bahawa kod bait akan berfungsi lebih cepat
3) Seperti yang saya percaya, kod asli tidak akan membawa OS dan JVM, yang memberi kesan ketara kepada jumlah yang diperlukan untuk pengendalian program ROM .

Mungkin penyelesaian ini boleh bertindak sebagai alternatif kepada versi ME .
(Soalan besar, kerana:
1) Tidak diketahui sama ada GCJ menyokong platform perkakasan berprestasi rendah tersebut.
2) Tiada maklumat tentang prestasi kod ini.

dikemas kini. 11.04
Kira-kira 2. Mana-mana versi bahasa Java, sama ada ME, SE atau Embedded, berfungsi seiring dengan JRE, yang ditafsirkan. Kecuali untuk kes di atas dan dua yang akan datang yang diterangkan di bawah.
Pertama, terdapat percubaan untuk memerah OS keluar dari rantaian, menggantikannya dengan alat mereka sendiri yang berorientasikan Java secara eksklusif. Mengenai apa itu, di sini .
Kedua, ternyata terdapat pemproses berorientasikan Java, ciri mereka adalah coprocessor terbina dalam yang mentafsir kod bait dalam perkakasan (! bukan dalam perisian) dan menghantarnya untuk pelaksanaan.
Baca lebih lanjut mengenai Jazelle . Di sini
kaya .


Luar Topik
Idea yang dimaksudkan ialah "maklum balas", jenis yang dilaksanakan secara khusus dalam prototaip masa hadapan - rintangan tekanan/tekanan.
Ambil peluang ini untuk. Membaca orang tahap 15-25, mari kita cipta komuniti kecil untuk komunikasi/tete-a-tete. Untuk sahaja tidak ada keberanian sama sekali, dan lebih-lebih lagi - seram yang lengkap.

Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION