Apa artinya "N-Bit"?
Maaf jika paragraf pertama ini agak terlalu tingkat rendah, tapi itu ditawarkan dengan harapan bahwa hal itu dapat membantu pembaca masa depan: nomor A, diwakili oleh N digit dalam basis M, hanya dapat sebagai besar sebagai . Misalnya, dengan 9 angka desimal (basis 10), Anda hanya dapat menuliskan angka hingga 10 ^ 9, atau nol hingga 999.999.999. Dengan 8 digit biner (basis 2) ("Digit biner" adalah 'bit'), Anda dapat menyimpan 2 ^ 8 = 256 angka.MN
Mikrokontroler atau prosesor disebut 'N-bit' karena pengontrol dan prosesor memiliki lebar data dasar. Setiap register mungkin N bit, setiap instruksi mungkin N bit, bus data mungkin N bit, memori mungkin dialamatkan dengan N bit. Khususnya di level bawah, ada pengecualian untuk aturan ini: misalnya, pengontrol 8-bit mungkin memiliki bus memori 12-bit, tetapi karena Anda mungkin menebak itu sulit untuk bekerja dengan ketika register Anda hanya berisi 8 bit. Namun, semua prosesor memiliki lebar dasar tipe data asli. Pertimbangkan kode berikut:
uint32_t x,y,z; // Declare 3 32-bit variables
z=x + y; // Add two of them to store in the third
Jika Anda hanya dapat menambahkan angka 8-bit, bagaimana Anda melakukan operasi ini? Anda perlu memecah setiap variabel menjadi 4 angka 8-bit, melakukan penambahan dan membawa secara individual, dan kemudian menggabungkannya untuk mendapatkan hasilnya. Ini akan membutuhkan setidaknya 16 instruksi! Namun, pada prosesor 32-bit, ini adalah instruksi tunggal yang sederhana mul r0, r1, r2
. Seperti yang Anda lihat dari contoh sederhana ini, lebar bit prosesor yang lebih besar dapat menangani lebih banyak data dengan lebih cepat.
Catatan Sejarah
Tren sepanjang sejarah telah dari lebar bit kecil ke yang lebih besar. Jauh di awal 1970-an, Intel merilis 4004, pengontrol chip tunggal pertama. Itu adalah prosesor 4-bit. Karena transistor besar dan haus kekuasaan, dan karena desainnya revolusioner dan rumit, hanya itu yang bisa dimasukkan ke dalam chip. Tak lama kemudian, mereka merilis 8008, prosesor 8-bit. Ada beberapa prosesor 4-bit yang masih digunakan, tetapi ada banyak pengontrol 8-bit, PIC dan AVR adalah contoh kontemporer yang masih umum digunakan. Lebih banyak prosesor 8-bit yang dibuat daripada tipe lainnya! Mereka masih pengendali paling populer untuk tugas-tugas kecil, sederhana, dan biaya-sensitif. Transisi yang jelas berikutnya adalah untuk pengontrol 16-bit, tetapi ini belum memiliki jangkauan saudara-saudara mereka 8-bit atau 32-bit. Sebagai gantinya, sudah ada lompatan ke prosesor 32-bit, seperti yang dirancang oleh ARM dan dirancang ke dalam CPU PC beberapa tahun yang lalu. Belum ada mikrokontroler 64-bit yang signifikan yang saya sadari, meskipun mereka sekarang menonjol di PC.
8-bit vs 32-bit
Sejauh ini, tipe yang paling populer adalah prosesor 8-bit dan 32-bit. Prosesor 32-bit menjadi semakin populer. Setiap tahun atau lebih, beberapa majalah perdagangan menerbitkan sebuah artikel dengan judul "Apakah 8-bit mati?" Prosesor 32-bit menjadi lebih populer, lebih kuat, dan lebih murah, hanya menyisakan tiga alasan untuk memilih prosesor 8-bit:
- Inersia - Jika Anda memiliki kode untuk dan pengalaman dengan prosesor 8-bit, Anda mungkin tidak mendapatkan ROI yang cukup dengan mengubah semuanya menjadi arsitektur 32-bit.
- Daya rendah - Setiap transistor dalam pengontrol menghilangkan daya, dan sementara ukuran tidak lagi menjadi masalah, prosesor 32-bit memang memiliki lebih banyak transistor dan karenanya menghilangkan lebih banyak arus dalam keadaan tidak aktif. Ini hanya masalah dalam desain bertenaga sel koin yang ekstrem.
- Biaya rendah - Jika Anda hanya memerlukan beberapa lusin instruksi perakitan dan 2 pin IO, bahkan prosesor 8-bit mungkin berlebihan. Pada ujung bawah, pengontrol 8-bit termurah kurang dari $ 0,40 dalam jumlah besar, tetapi prosesor 32-bit termurah masih $ 0,80 atau lebih, tetapi jauh lebih kuat daripada alternatif 8-bit. Jika Anda mencoba membuat mainan dengan satu LED berkedip untuk satu juta Happy Meals berikutnya, ini adalah potongan harga yang meyakinkan, jika tidak, itu tidak benar-benar membuat perbedaan.
Prosesor 32-bit menjadi lebih di mana-mana, tetapi ada sedikit tanda bahwa prosesor 8-bit akan menghilang seperti prosesor 4-bit antik karena tiga alasan ini.
Arduino sebagai contoh
Pertimbangkan aplikasi seperti Arduino .
Arduino menggunakan pengontrol Atmel, ATmega32 8-bit . ATmega beroperasi pada 20 MHz, memiliki 4k RAM, memiliki komunikasi SPI, I2C, dan UART, beberapa interupsi perangkat keras, dan 8 ADC 10-bit. Chip ini berharga $ 3,90 dalam jumlah 100.
Chip 32-bit serupa bisa menjadi bagian Atmel lain, AT-SAM3 32-bit menggunakan inti ARM Cortex-M3 yang dibagikan. Chip ini berjalan pada 64 MHz (3x lebih cepat, tetapi ingat bahwa ATmega membutuhkan 16 instruksi untuk melakukan penambahan 32-bit tunggal). Ini memiliki 16k RAM, 4 kali lebih banyak dari ATmega. Ini memiliki I²C, MMC, SPI, SSC, UART, dan bahkan periferal USB. Ini memiliki DMA (akses memori langsung, juga membuatnya lebih cepat dan lebih efisien), satu set interupsi yang fleksibel dan kuat, 10 ADC 12 bit dan 2 DAC. Itu hanya mengungguli ATmega di semua kategori. Saya mencoba menemukan pengontrol 32-bit yang memiliki set fitur yang sebanding, dan ini adalah yang terbaik yang bisa saya lakukan. Berapa harga chip ini? Ini $ 2,34 dalam jumlah 100: Anda mendapatkan kinerja lebih banyak dengan uang lebih sedikit. Seharusnya keputusan yang mudah.
Bagaimana dengan teladan Anda?
Untuk contoh situasi Anda di sini ,
Jumlah mobil yang masuk dan keluar dari tempat parkir harus dihitung dan jumlah yang ditampilkan pada layar LCD. Maksimal sepuluh mobil diizinkan masuk ke tempat parkir.
Anda memiliki matematika yang sangat sederhana dengan angka kecil dan tampilan sederhana pada LCD (atau benar-benar, tanda besar yang terbuat dari angka 7-segmen LED-lit akan lebih terlihat dan lebih murah). Kontroler 8-bit mungkin cukup memadai untuk tugas ini. Namun, bagaimana jika Anda benar - benar menginginkan LCD? Pengontrol 8-bit akan berjuang untuk menggerakkan bahkan layar VGA resolusi rendah, sementara Anda dapat dengan mudah mendapatkan papan pengembangan untuk pengontrol 32-bit yang memiliki output HDMI. Bagaimana jika Anda ingin menampilkannya di layar untuk saat ini, tetapi kemudian ingin menghubungkannya ke kabel Ethernet di LAN bisnis Anda dan menampilkan hasilnya di komputer pengawas di kantor taman? Anda dapat dengan mudah mendapatkan pengontrol 32-bit dengan bus komunikasi Ethernet terpasang, Anda tidak dapat melakukannya dengan pengontrol 8-bit.Xport , tetapi itu berisi prosesor 32-bit di dalamnya.
Untuk proyek satu kali, saya akan merekomendasikan pengontrol 32-bit setiap saat. Waktu Anda hanya lebih berharga daripada perbedaan harga antara pengontrol 8- dan 32-bit.
Sehubungan dengan prosesor 7-bit yang Anda sebutkan, mungkin tidak pernah dan tidak akan pernah ada mesin seperti itu. Dari sudut pandang arsitektur, lebih masuk akal untuk menggunakan lebar bit yang merupakan kekuatan 2.