pemrograman mikrokontroler. Mikrokontroler (Topik) Sirkuit mikro yang dirancang untuk mengontrol perangkat elektronik

Organisasi memori mikrokontroler
Port I/O
Penghitung waktu
Interupsi
Konverter analog-ke-digital
Antarmuka komunikasi
  • Transceiver sinkron-asinkron universal USART

Kursus video tentang pemrograman mikrokontroler STM32

Mikroprosesor disebut perangkat yang dikendalikan perangkat lunak yang melakukan proses pemrosesan dan pengendalian informasi digital. Mikroprosesor diimplementasikan sebagai sirkuit terintegrasi besar (LSI) atau ekstra besar (VLSI). Mikroprosesor memainkan peran sebagai prosesor dalam sistem digital untuk berbagai keperluan.

Fitur utama dari mikroprosesor adalah kemampuan untuk memprogram logika kerja.

Mikrokontroler (MCU)- sirkuit mikro yang dirancang untuk mengontrol perangkat elektronik. Mikrokontroler tipikal menggabungkan fungsi prosesor dan perangkat periferal, mungkin berisi RAM dan ROM. Intinya, ini adalah komputer chip tunggal yang mampu melakukan tugas sederhana... Menggunakan sirkuit mikro tunggal alih-alih seluruh rangkaian, seperti dalam kasus prosesor konvensional yang digunakan di komputer pribadi, secara signifikan mengurangi ukuran, konsumsi daya, dan biaya perangkat berbasis mikrokontroler.

Sistem mikroprosesor (MPS) adalah produk fungsional lengkap yang terdiri dari satu atau lebih perangkat, terutama berbasis mikroprosesor: mikroprosesor dan / atau mikrokontroler.

Perangkat mikroprosesor (MPU) adalah produk yang lengkap secara fungsional dan struktural, terdiri dari beberapa sirkuit mikro, yang meliputi mikroprosesor; itu dirancang untuk melakukan serangkaian fungsi tertentu: menerima, memproses, mentransmisikan, mengubah informasi, dan mengelola.

Keuntungan utama dari sistem mikroprosesor dibandingkan dengan sistem digital berdasarkan "logika keras".

  • Multifungsi: jumlah besar fungsi dapat diimplementasikan pada satu basis elemen.
  • Fleksibilitas: kemampuan untuk memperbaiki dan memodifikasi program mikroprosesor untuk implementasi mode yang berbeda sistem operasi.
  • Kekompakan: dimensi miniatur sirkuit mikro dan pengurangan jumlahnya dibandingkan dengan penerapan "logika keras" memungkinkan untuk mengurangi dimensi perangkat.
  • Peningkatan kekebalan terhadap interferensi: lebih sedikit kabel penghubung meningkatkan keandalan perangkat.
  • Kinerja: kemampuan untuk menggunakan frekuensi operasi yang lebih tinggi dan algoritma pemrosesan informasi yang lebih kompleks.
  • Perlindungan informasi: kemampuan untuk melindungi program mikroprosesor agar tidak terbaca memungkinkan Anda untuk melindungi hak cipta pengembang.

Meskipun mikroprosesor adalah sarana universal untuk pemrosesan informasi digital, beberapa area aplikasi memerlukan implementasi opsi spesifik tertentu untuk struktur dan arsitekturnya. Oleh karena itu, secara fungsional, dua kelas dibedakan: mikroprosesor tujuan umum dan mikroprosesor khusus. Di antara mikroprosesor khusus, yang paling umum adalah mikrokontroler yang dirancang untuk melakukan fungsi kontrol untuk berbagai objek, dan prosesor sinyal digital (DSP - Digital Signal Processor), yang berfokus pada implementasi prosedur yang menyediakan transformasi yang diperlukan. sinyal analog disajikan dalam bentuk digital.

Daftar periferal yang tidak lengkap yang mungkin ada di mikrokontroler meliputi:

  • berbagai antarmuka I/O seperti UART, I²C, SPI, CAN, USB, ETHERNET;
  • konverter analog-ke-digital dan digital-ke-analog;
  • pembanding;
  • modulator lebar pulsa;
  • penghitung waktu;
  • pembangkit jam;
  • pengontrol tampilan dan keypad;
  • array memori flash built-in.

Gagasan menempatkan mikroprosesor dan perangkat periferal pada satu chip adalah milik insinyur M. Kochren dan G. Boone, karyawan Texas Instruments. Mikrokontroler pertama adalah TMS1000 4-bit dari Texas Instruments, yang berisi RAM (32 byte), ROM (1 KB), clock, dan dukungan I/O. Dirilis pada tahun 1972, ia memiliki fitur baru untuk saat itu - penambahan instruksi baru.

Pada tahun 1976 (5 tahun setelah pembuatan mikroprosesor pertama) mikrokontroler pertama lahir Intel, bernama 8048. Selain prosesor pusat, chip tersebut berisi 1 kilobyte memori program, 64 byte memori data, dua timer delapan bit, generator clock dan 27 jalur I / O. Mikrokontroler dari keluarga 8048 digunakan di konsol game Magnavox Odyssey, di keyboard PC IBM pertama dan di sejumlah perangkat lain.

Hari ini di antara produsen besar mikrokontroler, Atmel, Microchip, ST Microelectronics, Texas Instruments, Freescale Semiconductor, NXP, dll. harus disebutkan.

Mikrokontroler adalah sirkuit mikro khusus yang dirancang untuk mengontrol berbagai perangkat elektronik. Mikrokontroler pertama kali muncul pada tahun yang sama dengan mikroprosesor tujuan umum (1971).

Pengembang mikrokontroler telah datang dengan ide yang cerdas - untuk menggabungkan prosesor, memori, ROM dan periferal dalam satu kasus, yang terlihat seperti sirkuit mikro biasa. Sejak itu, produksi mikrokontroler berkali-kali lebih besar daripada produksi prosesor setiap tahun, dan permintaannya tidak berkurang.

Mikrokontroler diproduksi oleh lusinan perusahaan, dan tidak hanya mikrokontroler 32-bit modern yang diproduksi, tetapi juga 16, dan bahkan 8-bit (seperti i8051 dan analog). Dalam setiap keluarga, Anda sering dapat menemukan model yang hampir sama, berbeda dalam kecepatan CPU dan jumlah memori.

Mikrokontroler, sebagai suatu peraturan, tidak bekerja sendiri, tetapi disolder ke sirkuit, di mana, selain itu, layar, input keyboard, berbagai sensor dll.

Perangkat lunak mikrokontroler dapat menarik perhatian mereka yang suka "mengejar bit", karena biasanya memori dalam mikrokontroler adalah dari 2 hingga 128 KB. Jika kurang, maka Anda harus menulis dalam assembler atau Forte, jika memungkinkan, gunakan versi khusus BASIC, Pascal, tetapi terutama - C. Sebelum akhirnya memprogram mikrokontroler, ia diuji dalam emulator – perangkat lunak atau perangkat keras.

Di sini mungkin timbul pertanyaan: apakah mikroprosesor dan mikrokontroler hanya nama yang berbeda untuk perangkat yang sama, atau apakah keduanya masih berbeda?

Mikroprosesor adalah perangkat pusat dari komputer mana pun, dibuat menggunakan teknologi integral. Nama itu sendiri menunjukkan bahwa di dalamnya proses komputasi terjadi. Untuk membuat komputer dari itu, meskipun tidak terlalu modern dan kuat (ingat desain amatir Radio-86 atau Sinclair), itu harus dilengkapi dengan perangkat eksternal. Pertama-tama, ini adalah RAM dan port untuk input / output informasi.

Mikrokontroler memiliki prosesor di dalamnya, RAM, memori program, dan selain itu, seluruh rangkaian perangkat periferal yang mengubah prosesor menjadi komputer yang berfungsi penuh. Dalam terminologi lama zaman Soviet, perangkat semacam itu disebut Mikrokomputer Chip Tunggal. Tetapi teknologi komputer Soviet, seperti yang Anda tahu, menemui jalan buntu, dan dengan itu OMEVM.

Teknologi komputer asing tidak berhenti, oleh karena itu OMEVM mulai disebut pengontrol (dari bahasa Inggris Kontrol - untuk mengontrol, mengontrol). Memang, pengontrol terbukti sangat cocok untuk mengendalikan berbagai peralatan, bahkan yang tidak terlalu rumit.

MICROCONTROLLER bukan lagi prosesor, tetapi juga bukan komputer.

Prosesor sentral di setiap komputer adalah komputer utama. Meskipun komputer tidak dirancang semata-mata untuk pekerjaan komputasi, prosesor adalah jantungnya. Tapi bukan hanya komputer yang memiliki prosesor.

Jika Anda memikirkannya dan melihat lebih dekat, Anda dapat menemukan bahwa prosesor digunakan di sebagian besar peralatan rumah tangga. Hanya ada tidak digunakan prosesor seperti di komputer, tetapi mikroprosesor dan bahkan mikrokontroler.

Jadi apa itu mikrokontroler dan apa bedanya dengan prosesor itu sendiri, atau apakah itu komponen elektronik yang sama sekali berbeda?

Sirkuit terintegrasi yang besar atau sirkuit mikro yang sangat terintegrasi adalah prosesor. Mikroprosesor pada dasarnya adalah prosesor yang sama, tetapi karena awalan "mikro" esensinya ditentukan, bahwa mereka lebih kecil daripada rekan "besar" mereka. Dalam sejarahnya, sebuah prosesor dengan ukurannya bisa menempati lebih dari satu ruangan, sudah sepatutnya mereka disebut sebagai prosesor makro dinosaurus yang sudah punah, sehingga entah bagaimana bisa ditertibkan dalam konsep elektronik modern.

Dikurangi dalam ukuran dan prosesor yang dirakit membutuhkan lebih sedikit ruang dan dapat ditempatkan dalam produk yang lebih kompak, ini adalah mikroprosesor. Tetapi prosesor itu sendiri tidak mampu melakukan banyak hal selain mentransfer data antar register dan melakukan beberapa operasi aritmatika dan logika pada register tersebut.

Agar mikroprosesor dapat mengirim data ke memori, memori ini harus ada baik pada chip itu sendiri, di mana elemen prosesor itu sendiri berada, atau dihubungkan ke memori akses acak eksternal yang dibuat dalam bentuk kristal terpisah atau modul.

Selain memori, prosesor harus berinteraksi dengan perangkat eksternal - periferal. Jika tidak, apa bagusnya yang dapat Anda harapkan dari prosesor yang mengocok dan memindahkan data bolak-balik. Makna tersebut muncul ketika prosesor berinteraksi dengan perangkat I/O. Di komputer, ini adalah keyboard, manipulator mouse, dan perangkat tampilan sebagai tampilan, opsional printer dan, misalnya, pemindai, sekali lagi untuk memasukkan informasi.

Untuk mengontrol perangkat I / O, sirkuit dan elemen buffer yang sesuai sangat diperlukan. Atas dasar mereka, antarmuka yang disebut perangkat keras diimplementasikan. Metode interaksi dengan elemen antarmuka mengandaikan adanya sirkuit port I / O, decoder alamat, dan driver bus dengan sirkuit buffer untuk meningkatkan kapasitas beban mikroprosesor.

Integrasi prosesor dengan semua elemen tambahan yang diperlukan agar produk ini dituangkan ke dalam semacam konstruksi lengkap dan mengarah pada pembentukan mikrokontroler. Sebuah mikrosirkuit atau chip mikrokontroler mengimplementasikan prosesor dan sirkuit antarmuka pada satu die.

Sebuah chip mandiri yang berisi hampir semua yang cukup untuk membangun produk jadi dan merupakan contoh mikrokontroler yang khas. Misalnya, jam tangan elektronik atau jam alarm memiliki mikrokontroler di dalamnya yang mengimplementasikan semua fungsi perangkat tersebut. Perangkat periferal terpisah terhubung langsung ke kaki mikrokontroler, atau elemen tambahan atau sirkuit mikro dengan tingkat integrasi kecil atau menengah digunakan bersama.

Mikrokontroler banyak digunakan dalam produk yang berisi seluruh sistem hanya dalam satu sirkuit mikro mini, sering disebut rakitan mikro. Misalnya, kartu kredit "chip" berisi mikrokontroler di dalam alas plastik. juga berisi mikrokontroler di dalamnya. Dan contoh penggunaan dan penerapan mikrokontroler begitu luas di dunia modern sehingga mudah untuk mendeteksi keberadaan pengontrol di perangkat yang kurang lebih cerdas mulai dari mainan anak hingga headset nirkabel telepon selular.

Lihat juga di website kami:

Lihat juga kursus video pelatihan Maksym Selivanov tentang topik ini:

Kursus bagi mereka yang sudah terbiasa dengan dasar-dasar elektronik dan pemrograman, yang mengetahui komponen elektronik dasar, mengumpulkan skema sederhana, tahu cara memegang besi solder dan ingin pindah ke tingkat yang baru secara kualitatif, tetapi terus-menerus menunda transisi ini karena kesulitan dalam menguasai materi baru.

Kursus ini juga bagus untuk mereka yang baru pertama kali mencoba mempelajari pemrograman mikrokontroler, tetapi siap untuk menyerahkan segalanya karena tidak ada yang berhasil atau berhasil, tetapi tidak sesuai kebutuhannya (akrab?!).

Kursus ini juga akan berguna bagi mereka yang sudah merakit sirkuit sederhana (dan mungkin tidak terlalu) pada mikrokontroler, tetapi kurang memahami esensi dari cara kerja mikrokontroler dan interaksinya dengan perangkat eksternal.

Kursus ini didedikasikan untuk mengajarkan pemrograman mikrokontroler dalam bahasa C. Ciri khas kursus ini adalah studi bahasa pada tingkat yang sangat dalam. Pembelajaran berlangsung dengan menggunakan contoh mikrokontroler AVR. Tapi, pada prinsipnya juga cocok untuk mereka yang menggunakan mikrokontroler lain.

Kursus ini dirancang untuk siswa yang siap. Artinya, kursus tidak mencakup dasar-dasar dasar ilmu komputer dan elektronika dan mikrokontroler. Namun, untuk menguasai kursus ini, Anda memerlukan pengetahuan minimal tentang pemrograman mikrokontroler AVR dalam bahasa apa pun. Pengetahuan tentang elektronik diinginkan tetapi tidak diperlukan.

Kursus ini sangat ideal bagi mereka yang baru mulai belajar Pemrograman AVR mikrokontroler dalam bahasa C dan ingin memperdalam ilmunya. Ini juga cocok untuk mereka yang tahu sedikit tentang pemrograman mikrokontroler dalam bahasa lain. Dan cocok juga untuk programmer biasa yang ingin memperdalam pengetahuan bahasa C.

Kursus ini untuk mereka yang tidak ingin dibatasi dalam pengembangan mereka dengan contoh sederhana atau yang sudah jadi. Kursus ini sangat cocok bagi mereka yang tertarik untuk membuat perangkat yang menarik dengan pemahaman penuh tentang cara kerjanya. Kursus ini juga cocok bagi mereka yang sudah terbiasa dengan pemrograman mikrokontroler dalam bahasa C dan bagi mereka yang telah memprogramnya untuk waktu yang lama.

Materi kursus terutama difokuskan pada praktik penggunaan. Topik yang dibahas meliputi RFID, pemutaran audio, komunikasi nirkabel, tampilan warna TFT, layar sentuh, bekerja dengan berkas sistem Kartu SD LEMAK.

Pada tahun 70-an abad XX, para ilmuwan mengajukan ide revolusioner untuk masa-masa menciptakan mikroprosesor yang "memahami" hanya sesedikit mungkin instruksi.

Ide RISC - prosesor (Reduced Instruction Set Computer, komputer dengan set instruksi yang dikurangi) lahir sebagai hasil dari penelitian praktis tentang frekuensi penggunaan instruksi oleh programmer, yang dilakukan pada tahun 70-an di Amerika Serikat dan Inggris. Hasil langsungnya adalah "aturan 80/20" yang terkenal: 80% kode program aplikasi tipikal hanya menggunakan 20% instruksi mesin paling sederhana dari seluruh rangkaian yang tersedia.

Prosesor RISC "asli" pertama dengan 31 instruksi dibuat di bawah arahan David Patterson dari University of Berkeley, diikuti oleh prosesor dengan seperangkat 39 instruksi. Mereka termasuk 20-50 ribu transistor. Hasil kerja Patterson dimanfaatkan oleh Sun Microsystems, yang mengembangkan arsitektur SPARC 75 tim pada akhir 1970-an. Pada tahun 1981, proyek MIPS diluncurkan di Universitas Stanford untuk merilis prosesor RISC dengan 39 tim. Akibatnya, Mips Computer Corporation didirikan pada pertengahan 1980-an dan prosesor berikutnya dirancang dengan 74 instruksi.

Menurut perusahaan independen IDC, pada tahun 1992 arsitektur SPARC menduduki 56% dari pasar, diikuti oleh MIPS - 15% dan PA-RISC - 12,2%.

Sekitar waktu yang sama, Intel mengembangkan seri 80386, prosesor CISC "sejati" terakhir dalam keluarga IA-32. Terakhir kali peningkatan kinerja dicapai hanya dengan meningkatkan kompleksitas arsitektur prosesor: dari 16-bit ke 32-bit, komponen perangkat keras tambahan mendukung memori virtual, dan serangkaian instruksi baru ditambahkan.

Fitur utama prosesor RISC:

Set perintah yang dikurangi (dari 80 menjadi 150 perintah).

Sebagian besar perintah dieksekusi dalam 1 siklus clock.

Sejumlah besar register tujuan umum.

Kehadiran konveyor multistage yang kaku.

Semua perintah memiliki format sederhana dan beberapa metode pengalamatan digunakan.

Kehadiran memori cache terpisah yang luas.

Penggunaan kompiler pengoptimal yang menganalisis kode sumber dan sebagian membalik urutan perintah.

Prosesor RISC generasi ke-3

Pengembang prosesor RISC terbesar adalah Sun Microsystems (arsitektur SPARC - Ultra SPARC), IBM (prosesor Power multi-chip, PowerPC chip tunggal - PowerPC 620), Peralatan Digital (Alpha - Alpha 21164), Mips Technologies (keluarga Rxx00 - R 10.000), dan Lihat juga Hewlett-Packard (arsitektur PA-RISC - PA-8000).

Semua prosesor RISC generasi ke-3:

adalah 64-bit dan superscalar (setidaknya 4 perintah dijalankan per siklus clock);

memiliki unit aritmatika floating point pipelined;

memiliki memori cache berjenjang. Sebagian besar prosesor RISC menyimpan instruksi yang telah didekripsi sebelumnya;

diproduksi menggunakan teknologi CMOS dengan 4 lapisan metalisasi.

Untuk pemrosesan data, algoritme prediksi cabang dinamis dan metode pemetaan ulang register digunakan, yang memungkinkan untuk mengimplementasikan eksekusi perintah yang tidak berurutan.

Peningkatan kinerja prosesor RISC dicapai dengan meningkatkan frekuensi clock dan meningkatkan kompleksitas rangkaian kristal. Perwakilan dari arah pertama adalah prosesor Alpha dari DEC, prosesor yang paling kompleks adalah dari Hewlett-Packard.

Pengurangan set instruksi mesin dalam arsitektur RISC memungkinkan untuk menempatkan sejumlah besar register tujuan umum pada chip inti komputasi. Peningkatan jumlah register tujuan umum memungkinkan untuk meminimalkan akses ke RAM yang lambat, hanya menyisakan operasi membaca data dari RAM ke register dan menulis data dari register ke RAM untuk bekerja dengan RAM, semua instruksi mesin lainnya menggunakan umum -purpose register sebagai operand.

Keuntungan utama dari arsitektur RISC adalah properti berikut:

Sejumlah besar register tujuan umum.

Format universal untuk semua operasi mikro.

Waktu eksekusi yang sama untuk semua instruksi mesin.

Hampir semua operasi transfer data dilakukan di sepanjang rute register - register.

Waktu eksekusi yang sama dari semua instruksi mesin memungkinkan Anda untuk memproses aliran instruksi instruksi secara pipelined, mis. sinkronisasi perangkat keras dilakukan, dengan mempertimbangkan transfer serial kontrol dari satu unit perangkat keras ke unit perangkat keras lainnya.

Blok perangkat keras dalam arsitektur RISC:

Blok pemuatan instruksi mencakup komponen-komponen berikut: blok untuk mengambil instruksi dari memori instruksi, register instruksi, tempat instruksi ditempatkan setelah diambil, dan blok untuk instruksi decoding. Langkah ini disebut langkah pengambilan instruksi.

Register tujuan umum, bersama dengan unit kontrol register, membentuk tahap kedua dari pipa, yang bertanggung jawab untuk membaca operan instruksi. Operand dapat disimpan dalam instruksi itu sendiri atau di salah satu register tujuan umum. Langkah ini disebut langkah sampling operand.

Unit logika aritmatika dan, jika diimplementasikan dalam arsitektur ini, akumulator, bersama dengan logika kontrol, yang berdasarkan isi register instruksi, menentukan jenis operasi mikro yang akan dilakukan. Selain register instruksi, sumber data dapat menjadi penghitung instruksi saat melakukan operasi mikro dari lompatan bersyarat atau tanpa syarat. Tahap ini disebut tahap eksekutif konveyor.

Satu set register tujuan umum, logika tulis, dan terkadang RAM membentuk tahap penyimpanan data. Pada tahap ini, hasil eksekusi instruksi ditulis ke register tujuan umum atau memori utama.

Namun, pada saat arsitektur RISC dikembangkan, arsitektur Intel x86, berdasarkan prinsip arsitektur CISC, telah menjadi standar mikroprosesor industri de facto. Kehadiran sejumlah besar program yang ditulis untuk arsitektur Intel x86 membuat transisi massal komputer ke arsitektur RISC tidak mungkin dilakukan. Untuk alasan ini, mikrokontroler adalah area penggunaan utama untuk arsitektur RISC, karena fakta bahwa mereka tidak terikat dengan perangkat lunak yang ada. Selain itu, beberapa produsen komputer, yang dipimpin oleh IBM, juga mulai memproduksi komputer yang dibangun di atas arsitektur RISC, tetapi ketidakcocokan perangkat lunak antara arsitektur Intel x86 dan RISC sebagian besar membatasi distribusi yang terakhir.

Namun, manfaat arsitektur RISC begitu signifikan sehingga para insinyur menemukan cara untuk bermigrasi ke komputer RISC tanpa meninggalkan perangkat lunak yang ada. Inti dari sebagian besar mikroprosesor modern yang mendukung arsitektur Intel x86 didasarkan pada arsitektur RISC dengan dukungan untuk pemipaan multiskalar. Mikroprosesor menerima instruksi dalam format Intel x86 sebagai input, kami menggantinya dengan beberapa (hingga 4) instruksi RISC.

Dengan demikian, inti dari kebanyakan mikroprosesor modern, dimulai dengan Intel 486DX, dibuat sesuai dengan arsitektur RISC dengan dukungan untuk antarmuka Intel x86 eksternal. Selain itu, sebagian besar mikrokontroler, serta beberapa mikroprosesor, diproduksi sesuai dengan arsitektur RISC.

Prosesor RISC modern menggunakan setidaknya 32 register, seringkali

lebih dari 100, sedangkan pada komputer digital klasik biasanya terdapat 8-16 register umum

tujuan. Akibatnya, prosesor 20% -30% lebih kecil kemungkinannya untuk mengakses

RAM, yang juga meningkatkan kecepatan pemrosesan data. kecuali

Selain itu, kehadiran jumlah yang besar register menyederhanakan tugas kompiler dalam mengalokasikan register ke variabel. Topologi prosesor, dieksekusi dalam bentuk sirkuit terpadu tunggal, telah disederhanakan, persyaratan pengembangannya telah dikurangi, dan menjadi lebih murah.

Setelah munculnya prosesor RISC, prosesor tradisional menerima

Penunjukan CISC - yaitu, dengan set instruksi lengkap (Complete Instruction Set Computer).

Saat ini prosesor RISC tersebar luas. Prosesor RISC modern dicirikan oleh:

sebagai berikut:

satu set perintah yang disederhanakan;

perintah fixed-length dan fixed-format digunakan,

cara pengalamatan sederhana, yang memungkinkan Anda menyederhanakan logika perintah decoding;

sebagian besar perintah dieksekusi dalam satu siklus prosesor;

logika eksekusi perintah untuk meningkatkan kinerja

berfokus pada perangkat keras daripada implementasi firmware,

tidak ada makro yang memperumit struktur prosesor dan

mengurangi kecepatan kerjanya;

interaksi dengan RAM terbatas pada operasi

transfer data;

untuk memproses, sebagai aturan, perintah tiga alamat digunakan, yang

selain menyederhanakan dekripsi, ini memungkinkan untuk menghemat lebih banyak

jumlah variabel dalam register tanpa memuat ulang selanjutnya;

pipa perintah telah dibuat yang memungkinkan Anda untuk memproses beberapa dari mereka

serentak;

kehadiran sejumlah besar register;

memori berkecepatan tinggi digunakan.

Dalam prosesor RISC, pemrosesan instruksi mesin dibagi menjadi:

beberapa tahap, setiap tahap dilayani oleh ruang kontrol terpisah

berarti dan terorganisir transfer data dari satu tahap ke tahap berikutnya.

Dalam hal ini, produktivitas meningkat karena fakta bahwa beberapa instruksi dieksekusi secara bersamaan pada berbagai tahap pipa.

Eksekusi perintah tipikal dapat dibagi menjadi langkah-langkah berikut:

mengambil instruksi IF - instruksi diambil dari memori di alamat yang ditentukan oleh penghitung instruksi;

3) melakukan operasi EX, jika perlu, mengakses memori - menghitung alamat fisik;

4) akses ke memori ME;

5) mengingat hasil WB

Dalam prosesor RISC, set instruksi yang dapat dieksekusi dikurangi seminimal mungkin. Untuk mengimplementasikan operasi yang lebih kompleks, Anda harus menggabungkan perintah. Dalam hal ini, semua perintah memiliki format panjang tetap (misalnya, 12, 14 atau 16 bit), perintah diambil dari memori dan dieksekusi dalam satu siklus (jam) sinkronisasi. Set instruksi prosesor RISC mengasumsikan bahwa semua register prosesor dapat digunakan secara merata. Ini memberikan fleksibilitas tambahan untuk berbagai operasi. MK dengan prosesor RISC antara lain AVR MK dari Atmel, MK PIC16 dan PIC17 dari Microchip, dan lain-lain.

Sekilas, MCU dengan prosesor RISC seharusnya memiliki kinerja yang lebih tinggi daripada MCU CISC pada laju clock bus internal yang sama. Namun dalam praktiknya, masalah kinerja lebih kompleks dan kontroversial.

Gambar 2.

Arsitektur Harvard hampir tidak digunakan sampai akhir 70-an, ketika produsen MC menyadari bahwa itu menawarkan keuntungan tertentu kepada pengembang. sistem otonom pengelolaan.

Faktanya adalah, dilihat dari pengalaman menggunakan MPS untuk mengontrol berbagai objek, untuk implementasi sebagian besar algoritma kontrol, keunggulan arsitektur von Neumann seperti fleksibilitas dan universalitas tidak terlalu penting. Analisis program nyata kontrol menunjukkan bahwa jumlah data MC yang diperlukan yang digunakan untuk menyimpan hasil antara, sebagai aturan, adalah urutan besarnya lebih kecil dari jumlah memori program yang diperlukan. Dalam kondisi ini, penggunaan ruang alamat tunggal menyebabkan peningkatan format perintah karena peningkatan jumlah bit untuk menangani operan. Penggunaan memori data yang terpisah, kecil dalam hal volume, berkontribusi pada pengurangan panjang instruksi dan percepatan pengambilan informasi dalam memori data.

Selain itu, arsitektur Harvard berpotensi memberikan lebih banyak kecepatan tinggi eksekusi program dibandingkan dengan von Neumann karena kemungkinan menerapkan operasi paralel. Pengambilan instruksi berikutnya dapat terjadi bersamaan dengan eksekusi instruksi sebelumnya, dan tidak perlu menghentikan prosesor saat mengambil instruksi. Metode pelaksanaan operasi ini memungkinkan untuk memastikan pelaksanaan berbagai instruksi untuk jumlah siklus yang sama, yang memungkinkan untuk lebih mudah menentukan waktu eksekusi siklus dan bagian kritis program.

Sebagian besar pabrikan MCU 8-bit modern menggunakan arsitektur Harvard. Namun, arsitektur Harvard tidak cukup fleksibel untuk mengimplementasikan beberapa rutinitas perangkat lunak. Oleh karena itu, perbandingan MC yang dibuat pada arsitektur yang berbeda harus dilakukan dalam kaitannya dengan aplikasi tertentu.

Selamat siang, para amatir radio yang terkasih!
Selamat datang di situs ““

Mikrokontroler

Mikrokontroler (Unit Pengontrol Mikro, MCU) - sirkuit mikro untuk mengendalikan perangkat elektronik(lihat Gambar 1a). Mikrokontroler tipikal menggabungkan fungsi prosesor dan perangkat periferal, berisi: RAM(Memori Akses Acak) atau ROM(Memori Hanya Baca). Pada dasarnya, ini adalah komputer kecil yang mampu melakukan tugas-tugas tertentu.

Penggunaan dalam mikrokontroler modern dari perangkat komputasi "kuat" dengan kemampuan luas, dibangun di atas sirkuit mikro tunggal alih-alih satu set, secara signifikan mengurangi ukuran, konsumsi daya, dan biaya perangkat yang dibuat atas dasar itu. Mikrokontroler dapat ditemukan di hampir semua perangkat elektronik modern: ponsel, kamera foto dan video, kalkulator, jam tangan, TV, pemutar media, komputer, industri, otomotif, peralatan militer, dan bahkan ketel listrik.

Saat ini ada sejumlah besar mikrokontroler jenis yang berbeda... Populer di kalangan pengembang mikrokontroler PIC oleh Teknologi Microchip, dan AVR dan ARM oleh Atmel Corporation. Untuk membuat mikrokontroler melakukan tugas yang diberikan, mikrokontroler harus diprogram dengan program tertentu. Biasanya dilampirkan ke diagram skematik dan terkandung dalam file dengan ekstensi .hex. Lebih sering program ini disebut "firmware". Firmware yang berbeda ditulis untuk mikrokontroler yang berbeda. Firmware apa pun berisi kode mesin yang dipahami oleh mikrokontroler. Tetapi sulit bagi seseorang untuk mengingat korespondensi perintah kontrol dan kode mesin. Oleh karena itu, program ini pertama kali ditulis menggunakan beberapa bahasa.pemrograman (Assembler, C), dan kemudian diterjemahkan ke dalam kode mesin pengontrol menggunakan program penerjemah.

Ada juga software khusus untuk menulis program. Misalnya, untuk pengembangan firmware AVR, WinAVR sering digunakan, yang memiliki semua alat yang diperlukan: kompiler (untuk bahasa C dan C ++), programmer, debugger, editor, dan sebagainya. WinAVR banyak digunakan di seluruh dunia baik oleh amatir maupun profesional. Untuk membuat firmware untuk mikrokontroler PIC, Anda dapat menggunakan CCS PCWHD (PIC C Compiler) - kompiler bahasa C. Seperti perangkat lunak sebelumnya, ia berisi semua yang Anda butuhkan untuk memprogram mikrokontroler.
Untuk "mem-flash" mikrokontroler, Anda memerlukan seorang programmer (lihat Gambar 16). Ini adalah kompleks perangkat lunak dan perangkat keras yang terdiri langsung dari perangkat yang menghubungkan mikrokontroler dengan komputer, dan program yang mengontrol perangkat ini. Pemrogram memasukkan program yang disiapkan untuk mikrokontroler ke dalam memorinya. Programmer dapat dibeli atau dirakit sendiri.

Ada pemrogram terpisah untuk berbagai jenis mikrokontroler, serta pemrogram universal yang mampu mem-flash sebagian besar sirkuit mikro ini. Salah satu kelemahan programmer terbaru adalah harganya yang mahal.

Klasifikasi dan struktur mikrokontroler. Struktur inti prosesor mikrokontroler, karakteristik utama kinerjanya. Arsitektur modul prosesor, ukuran dan jenis memori internal, set perangkat periferal, jenis kasing.

Kirim karya bagus Anda di basis pengetahuan sederhana. Gunakan formulir di bawah ini

Mahasiswa, mahasiswa pascasarjana, ilmuwan muda yang menggunakan basis pengetahuan dalam studi dan pekerjaan mereka akan sangat berterima kasih kepada Anda.

  • pengantar
    • 2. Bagian khusus
    • 2.2 arsitektur RISC.
    • 2.3 Mikrokontroler denganRISCArsitektur
    • Kesimpulan

pengantar

Mikrokontroler (MCU) adalah sirkuit mikro yang dirancang untuk mengontrol perangkat elektronik. Mikrokontroler tipikal menggabungkan fungsi prosesor dan perangkat periferal, dan mungkin berisi RAM dan ROM. Pada dasarnya, ini adalah komputer chip tunggal yang mampu melakukan tugas-tugas sederhana. Menggunakan sirkuit mikro tunggal alih-alih seluruh rangkaian, seperti dalam kasus prosesor konvensional yang digunakan di komputer pribadi, secara signifikan mengurangi ukuran, konsumsi daya, dan biaya perangkat berbasis mikrokontroler. Mikrokontroler adalah dasar untuk membangun sistem tertanam, mereka dapat ditemukan di banyak perangkat modern, seperti telepon, mesin cuci dll. Istilah "mikrokontroler" (MC) telah menggantikan istilah "komputer mikro chip tunggal" yang sebelumnya digunakan. Paten pertama untuk komputer mikro chip tunggal dikeluarkan pada tahun 1971 untuk insinyur M. Kochren dan G. Boone, karyawan Texas Instruments. Merekalah yang menyarankan untuk menempatkan tidak hanya mikroprosesor, tetapi juga memori, perangkat input-output pada satu kristal. Munculnya komputer mikro chip tunggal dikaitkan dengan awal era otomatisasi komputer di bidang kontrol. Rupanya, keadaan ini telah mendefinisikan istilah "mikrokontroler" (kontrol). Pada tahun 1979, Research Institute TT mengembangkan komputer 16-bit chip tunggal K1801BE1, arsitekturnya disebut "Electronics NC". Pada tahun 1980, Intel merilis mikrokontroler i8048. Kemudian pada tahun yang sama, Intel merilis mikrokontroler berikut: i8051. Satu set perangkat periferal yang sukses, kemampuan untuk secara fleksibel memilih memori program eksternal atau internal dan harga yang dapat diterima disediakan mikrokontroler ini dengan sukses pasar. Dari sudut pandang teknologi, mikrokontroler i8051 adalah produk yang sangat kompleks pada masanya - 128 ribu transistor digunakan dalam kristal, yang 4 kali lebih banyak daripada jumlah transistor dalam mikroprosesor 16-bit i8086.

1. Bagian umum

1.1 Klasifikasi dan struktur mikrokontroler

Saat ini, beberapa tipe MK diproduksi. Semua perangkat ini secara kasar dapat dibagi menjadi tiga kelas utama:

MCU 8-bit untuk aplikasi tertanam;

MCU 16- dan 32-bit;

prosesor sinyal digital (DSP).

Perwakilan paling umum dari keluarga MK adalah perangkat 8-bit, banyak digunakan di industri, rumah tangga, dan teknologi komputer... Mereka telah berkembang dari perangkat paling sederhana dengan periferal yang relatif terbelakang ke pengontrol multifungsi modern yang menyediakan implementasi algoritma kontrol kompleks secara real time. Alasan kelayakan MCU 8-bit adalah penggunaannya untuk mengontrol objek nyata, di mana algoritma dengan dominasi operasi logika, kecepatan pemrosesan yang praktis tidak bergantung pada kapasitas bit prosesor.

Semakin populernya MCU 8-bit difasilitasi oleh perluasan terus-menerus dari berbagai produk yang diproduksi oleh perusahaan terkenal seperti Motorola, Microchip, Intel, Zilog, Atmel, dan banyak lainnya. MCU 8-bit modern memiliki, sebagai suatu peraturan, sejumlah fitur khusus. Mari kita daftar yang utama:

organisasi modular, di mana, berdasarkan satu inti prosesor (prosesor pusat), sejumlah (baris) MC dirancang, berbeda dalam ukuran dan jenis memori program, ukuran memori data, satu set modul periferal, dan sinkronisasi frekuensi;

penggunaan arsitektur MK tertutup, yang ditandai dengan tidak adanya alamat dan jalur data trunk pada pin kasus MK. Dengan demikian, MC adalah sistem pemrosesan data yang lengkap, perluasan kemampuan yang menggunakan alamat paralel dan jalan raya data tidak diharapkan;

penggunaan modul periferal fungsional standar (pengatur waktu, pemroses peristiwa, pengontrol antarmuka serial, konverter analog-ke-digital, dll.), yang memiliki sedikit perbedaan dalam algoritme operasi di MCU dari pabrikan yang berbeda;

perluasan jumlah mode operasi modul periferal, yang diatur dalam proses inisialisasi register fungsi khusus MC.

Dengan prinsip konstruksi modular, semua MC dari satu keluarga berisi inti prosesor, yang sama untuk semua MC dari keluarga tertentu, dan blok fungsional variabel yang membedakan MC dari model yang berbeda. Inti prosesor meliputi: CPU; trunk pengontrol internal (VKM) yang terdiri dari bus alamat, data, dan kontrol; sirkuit sinkronisasi MC; sirkuit kontrol untuk mode operasi MK, termasuk dukungan untuk mode konsumsi daya rendah, start-up awal (reset), dll.

Blok fungsi yang dapat dimodifikasi termasuk modul memori jenis yang berbeda dan volume, port I/O, modul clock generator (G), timer. Dalam MCU yang relatif sederhana, modul penanganan interupsi adalah bagian dari inti prosesor. Dalam MCU yang lebih kompleks, ini adalah modul terpisah dengan kemampuan tingkat lanjut. Struktur blok fungsional variabel dapat mencakup modul tambahan seperti pembanding tegangan, konverter analog-ke-digital (ADC) dan lainnya. Setiap modul dirancang untuk bekerja sebagai bagian dari MC, dengan mempertimbangkan protokol VKM. Pendekatan ini memungkinkan Anda untuk membuat MC dari berbagai struktur dalam satu keluarga.

1.2 Struktur inti prosesor mikrokontroler

Karakteristik utama yang menentukan kinerja inti prosesor MK adalah:

satu set register untuk menyimpan data perantara;

set instruksi prosesor;

cara menangani operan di ruang memori;

organisasi proses pemilihan dan pelaksanaan perintah.

Dari sudut pandang sistem perintah dan metode pengalamatan operan, inti prosesor MCU 8-bit modern menerapkan salah satu dari dua prinsip pembuatan prosesor:

prosesor dengan arsitektur CISC, mengimplementasikan apa yang disebut Komputer Set Instruksi Rumit;

Prosesor RISC yang mengimplementasikan Reduced Instruction Set Computer.

Prosesor CISC mengeksekusi satu set besar instruksi dengan kemampuan pengalamatan tingkat lanjut, memberikan desainer kemampuan untuk memilih instruksi yang paling tepat untuk melakukan operasi yang diperlukan. Ketika diterapkan pada MCU 8-bit, prosesor CISC dapat memiliki format instruksi satu byte, dua byte, dan tiga byte (jarang empat byte). Waktu eksekusi perintah dapat dari 1 hingga 12 siklus. MCU dengan arsitektur CISC mencakup MCU dari Intel dengan inti MCS-51, yang saat ini didukung oleh sejumlah produsen, keluarga MCU HC05, HC08, dan HC11 oleh Motorola dan sejumlah lainnya.

Dari sudut pandang pengorganisasian proses pengambilan dan eksekusi perintah di MCU 8-bit modern, salah satu dari dua arsitektur MPS yang telah disebutkan digunakan: von Neumann (Princeton) atau Harvard.

Keuntungan utama dari arsitektur Von Neumann adalah penyederhanaan perangkat MPS, karena hanya satu memori bersama yang diakses. Selain itu, penggunaan satu area memori memungkinkan untuk dengan cepat mengalokasikan kembali sumber daya antara program dan area data, yang secara signifikan meningkatkan fleksibilitas MPS dari sudut pandang pengembang perangkat lunak. Menempatkan tumpukan di memori bersama membuatnya lebih mudah untuk mengakses isinya. Bukan kebetulan bahwa arsitektur von Neumann menjadi arsitektur utama komputer universal termasuk komputer pribadi.

Faktanya adalah, dilihat dari pengalaman menggunakan MPS untuk mengontrol berbagai objek, untuk implementasi sebagian besar algoritma kontrol, keunggulan arsitektur von Neumann seperti fleksibilitas dan universalitas tidak terlalu penting. Analisis program kontrol nyata menunjukkan bahwa jumlah yang diperlukan dari memori data MC yang digunakan untuk menyimpan hasil antara, sebagai aturan, urutan besarnya kurang dari jumlah yang dibutuhkan dari memori program. Dalam kondisi ini, penggunaan ruang alamat tunggal menyebabkan peningkatan format instruksi karena peningkatan jumlah bit untuk menangani operan. Penggunaan memori data yang terpisah, kecil dalam hal volume, berkontribusi pada pengurangan panjang instruksi dan percepatan pengambilan informasi dalam memori data.

Saat ini, perwakilan paling menonjol dari mikrokontroler SISC dan RISC, yang masing-masing memiliki arsitektur von Neumann dan Harvard, adalah mikrokontroler i8051 dan AVR, mikrokontroler Atmel, yang melampaui mikrokontroler PIC yang sangat terkenal dalam sejumlah karakteristik. Oleh karena itu, kami akan mempertimbangkan organisasi dan struktur perwakilan di atas.

2. Bagian khusus

2.1 arsitektur prosesor CISC dan RISC

Dua arsitektur set instruksi utama yang digunakan oleh industri komputer di era komputasi saat ini adalah arsitektur CISC dan RISC. Pendiri arsitektur CISC, Complete Instruction Set Computer (CISC), dapat dianggap sebagai IBM dengan arsitektur dasarnya IBM / 360, yang intinya telah digunakan sejak 1964 dan bertahan hingga hari ini, misalnya, dalam mode modern seperti itu. mainframe, seperti IBM ES/9000.

Pemimpin dalam pengembangan mikroprosesor dengan set lengkap instruksi dianggap Intel dengan mikroprosesor X86 dan Pentium. Ini praktis standar untuk pasar mikroprosesor. Kesederhanaan arsitektur prosesor RISC memastikan kekompakannya, praktis tidak ada masalah dengan pendinginan kristal, yang tidak ada dalam prosesor Intel, yang dengan keras kepala mengikuti jalur pengembangan arsitektur CISC. Strategi arsitektur CISC dibentuk karena kemungkinan teknologi mentransfer "pusat gravitasi" pemrosesan data dari tingkat perangkat lunak sistem ke tingkat perangkat keras, karena cara utama untuk meningkatkan efisiensi untuk komputer CISC terlihat, pertama dari semua, dalam menyederhanakan kompiler dan meminimalkan modul yang dapat dieksekusi. Saat ini, prosesor CISC hampir secara eksklusif menempati sektor di pasar komputer. komputer pribadi namun, prosesor RISC tidak tertandingi di sektor server dan workstation berperforma tinggi. Fitur utama arsitektur RISC dengan fitur serupa arsitektur CISC ditampilkan sebagai berikut (Tabel 1):

Tabel 1. Fitur utama arsitektur

Salah satu keuntungan penting dari arsitektur RISC adalah kecepatan perhitungan aritmatika yang tinggi. Prosesor RISC adalah yang pertama mencapai standar standar IEEE 754 yang paling umum, yang menetapkan format titik tetap 32-bit dan format titik mengambang "presisi penuh" 64-bit. Kecepatan eksekusi tinggi operasi aritmatika dalam kombinasi dengan akurasi komputasi yang tinggi, memberikan prosesor RISC dengan kepemimpinan tanpa syarat dalam kinerja dibandingkan dengan prosesor CISC.

Fitur lain dari prosesor RISC adalah seperangkat alat yang memastikan pengoperasian perangkat aritmatika tanpa henti: mekanisme prediksi cabang dinamis, sejumlah besar register operasional, dan memori cache bawaan bertingkat.

Organisasi struktur register adalah kelebihan utama dan masalah utama RISC. Hampir semua implementasi arsitektur RISC menggunakan operasi pemrosesan tiga tempat, di mana hasil dan dua operan adalah pengalamatan sendiri - R1: = R2, R3. Ini memungkinkan Anda untuk memilih operan dari register operasional yang dapat dialamatkan tanpa menghabiskan waktu yang signifikan dan menulis hasil operasi ke register. Selain itu, operasi rangkap tiga memberikan kompiler lebih banyak fleksibilitas daripada operasi ganda register-ke-memori khas arsitektur CISC. Ketika dikombinasikan dengan aritmatika berkecepatan tinggi, operasi register-register RISC sangat kuat dalam meningkatkan kinerja prosesor.

Pada saat yang sama, ketergantungan pada register adalah kelemahan arsitektur RISC. Permasalahannya adalah dalam proses menjalankan suatu tugas, sistem RISC berulang kali dipaksa untuk memperbarui isi register prosesor, dan dalam waktu yang minimal, agar tidak menyebabkan downtime unit aritmatika yang lama. Untuk sistem CISC, masalah ini tidak ada, karena modifikasi register dapat terjadi saat memproses perintah memori-ke-memori.

Ada dua pendekatan untuk memecahkan masalah modifikasi register dalam arsitektur RISC: perangkat keras, diusulkan dalam proyek RISC-1 dan RISC-2, dan perangkat lunak, yang dikembangkan oleh spesialis dari IBM dan Universitas Stanford. Perbedaan mendasar di antara mereka adalah bahwa solusi perangkat keras didasarkan pada keinginan untuk mengurangi waktu panggilan prosedur dengan memasang perangkat keras prosesor tambahan, sementara solusi perangkat lunak didasarkan pada kemampuan compiler dan lebih ekonomis dalam hal perangkat keras prosesor.

2.2 arsitektur RISC.

Pada tahun 70-an abad XX, para ilmuwan mengajukan ide revolusioner untuk masa-masa menciptakan mikroprosesor yang "memahami" hanya sesedikit mungkin instruksi.

Ide RISC - prosesor (Reduced Instruction Set Computer, komputer dengan set instruksi yang dikurangi) lahir sebagai hasil dari penelitian praktis tentang frekuensi penggunaan instruksi oleh programmer, yang dilakukan pada tahun 70-an di Amerika Serikat dan Inggris. Hasil langsungnya adalah "aturan 80/20" yang terkenal: 80% kode program aplikasi tipikal hanya menggunakan 20% instruksi mesin paling sederhana dari seluruh rangkaian yang tersedia.

Prosesor RISC "asli" pertama dengan 31 instruksi dibuat di bawah arahan David Patterson dari University of Berkeley, diikuti oleh prosesor dengan seperangkat 39 instruksi. Mereka termasuk 20-50 ribu transistor. Hasil kerja Patterson dimanfaatkan oleh Sun Microsystems, yang mengembangkan arsitektur SPARC 75 tim pada akhir 1970-an. Pada tahun 1981, proyek MIPS diluncurkan di Universitas Stanford untuk merilis prosesor RISC dengan 39 tim. Akibatnya, Mips Computer Corporation didirikan pada pertengahan 1980-an dan prosesor berikutnya dirancang dengan 74 instruksi.

Menurut perusahaan independen IDC, pada tahun 1992 arsitektur SPARC menduduki 56% dari pasar, diikuti oleh MIPS - 15% dan PA-RISC - 12,2%.

Sekitar waktu yang sama, Intel mengembangkan seri 80386, prosesor CISC "sejati" terakhir dalam keluarga IA-32. Terakhir kali peningkatan kinerja dicapai hanya dengan meningkatkan kompleksitas arsitektur prosesor: dari 16-bit ke 32-bit, komponen perangkat keras tambahan mendukung memori virtual, dan serangkaian instruksi baru ditambahkan.

Fitur utama prosesor RISC:

Set perintah yang dikurangi (dari 80 menjadi 150 perintah).

Sebagian besar perintah dieksekusi dalam 1 siklus clock.

Sejumlah besar register tujuan umum.

Kehadiran konveyor multistage yang kaku.

Semua perintah memiliki format sederhana dan beberapa metode pengalamatan digunakan.

Kehadiran memori cache terpisah yang luas.

Penggunaan kompiler pengoptimal yang menganalisis kode sumber dan sebagian membalik urutan perintah.

Prosesor RISC generasi ke-3

Pengembang prosesor RISC terbesar adalah Sun Microsystems (arsitektur SPARC - Ultra SPARC), IBM (prosesor Power multi-chip, PowerPC chip tunggal - PowerPC 620), Peralatan Digital (Alpha - Alpha 21164), Mips Technologies (keluarga Rxx00 - R 10.000), dan Lihat juga Hewlett-Packard (arsitektur PA-RISC - PA-8000).

Semua prosesor RISC generasi ke-3:

adalah 64-bit dan superscalar (setidaknya 4 perintah dijalankan per siklus clock);

memiliki unit aritmatika floating point pipelined;

memiliki memori cache berjenjang. Sebagian besar prosesor RISC menyimpan instruksi yang telah didekripsi sebelumnya;

diproduksi menggunakan teknologi CMOS dengan 4 lapisan metalisasi.

Untuk pemrosesan data, algoritme prediksi cabang dinamis dan metode pemetaan ulang register digunakan, yang memungkinkan untuk mengimplementasikan eksekusi perintah yang tidak berurutan.

Peningkatan kinerja prosesor RISC dicapai dengan meningkatkan frekuensi clock dan meningkatkan kompleksitas rangkaian kristal. Perwakilan dari arah pertama adalah prosesor Alpha dari DEC, prosesor yang paling kompleks adalah dari Hewlett-Packard.

Pengurangan set instruksi mesin dalam arsitektur RISC memungkinkan untuk menempatkan sejumlah besar register tujuan umum pada chip inti komputasi. Peningkatan jumlah register tujuan umum memungkinkan untuk meminimalkan akses ke RAM yang lambat, hanya menyisakan operasi membaca data dari RAM ke register dan menulis data dari register ke RAM untuk bekerja dengan RAM, semua instruksi mesin lainnya menggunakan umum -purpose register sebagai operand.

Keuntungan utama dari arsitektur RISC adalah properti berikut:

Sejumlah besar register tujuan umum.

Format universal untuk semua operasi mikro.

Waktu eksekusi yang sama untuk semua instruksi mesin.

Hampir semua operasi transfer data dilakukan di sepanjang rute register - register.

Waktu eksekusi yang sama dari semua instruksi mesin memungkinkan Anda untuk memproses aliran instruksi instruksi secara pipelined, mis. sinkronisasi perangkat keras dilakukan, dengan mempertimbangkan transfer serial kontrol dari satu unit perangkat keras ke unit perangkat keras lainnya.

Blok perangkat keras dalam arsitektur RISC:

Blok pemuatan instruksi mencakup komponen-komponen berikut: blok untuk mengambil instruksi dari memori instruksi, register instruksi, tempat instruksi ditempatkan setelah diambil, dan blok untuk instruksi decoding. Langkah ini disebut langkah pengambilan instruksi.

Register tujuan umum, bersama dengan unit kontrol register, membentuk tahap kedua dari pipa, yang bertanggung jawab untuk membaca operan instruksi. Operand dapat disimpan dalam instruksi itu sendiri atau di salah satu register tujuan umum. Langkah ini disebut langkah sampling operand.

Unit logika aritmatika dan, jika diimplementasikan dalam arsitektur ini, akumulator, bersama dengan logika kontrol, yang berdasarkan isi register instruksi, menentukan jenis operasi mikro yang akan dilakukan. Selain register instruksi, sumber data dapat menjadi penghitung instruksi saat melakukan operasi mikro dari lompatan bersyarat atau tanpa syarat. Tahap ini disebut tahap eksekutif konveyor.

Satu set register tujuan umum, logika tulis, dan terkadang RAM membentuk tahap penyimpanan data. Pada tahap ini, hasil eksekusi instruksi ditulis ke register tujuan umum atau memori utama.

Namun, pada saat arsitektur RISC dikembangkan, arsitektur Intel x86, berdasarkan prinsip arsitektur CISC, telah menjadi standar mikroprosesor industri de facto. Kehadiran sejumlah besar program yang ditulis untuk arsitektur Intel x86 membuat transisi massal komputer ke arsitektur RISC tidak mungkin dilakukan. Untuk alasan ini, mikrokontroler adalah area penggunaan utama untuk arsitektur RISC, karena fakta bahwa mereka tidak terikat dengan perangkat lunak yang ada. Selain itu, beberapa produsen komputer, yang dipimpin oleh IBM, juga mulai memproduksi komputer yang dibangun di atas arsitektur RISC, tetapi ketidakcocokan perangkat lunak antara arsitektur Intel x86 dan RISC sebagian besar membatasi distribusi yang terakhir.

Namun, manfaat arsitektur RISC begitu signifikan sehingga para insinyur menemukan cara untuk bermigrasi ke komputer RISC tanpa meninggalkan perangkat lunak yang ada. Inti dari sebagian besar mikroprosesor modern yang mendukung arsitektur Intel x86 didasarkan pada arsitektur RISC dengan dukungan untuk pemipaan multiskalar. Mikroprosesor menerima instruksi dalam format Intel x86 sebagai input, kami menggantinya dengan beberapa (hingga 4) instruksi RISC.

Dengan demikian, inti dari kebanyakan mikroprosesor modern, dimulai dengan Intel 486DX, dibuat sesuai dengan arsitektur RISC dengan dukungan untuk antarmuka Intel x86 eksternal. Selain itu, sebagian besar mikrokontroler, serta beberapa mikroprosesor, diproduksi sesuai dengan arsitektur RISC.

Prosesor RISC modern menggunakan setidaknya 32 register, seringkali

lebih dari 100, sedangkan pada komputer digital klasik biasanya terdapat 8-16 register umum

tujuan. Akibatnya, prosesor 20% -30% lebih kecil kemungkinannya untuk mengakses

RAM, yang juga meningkatkan kecepatan pemrosesan data. kecuali

Selain itu, keberadaan register dalam jumlah besar memudahkan kompiler untuk mengalokasikan register ke variabel. Topologi prosesor, dieksekusi dalam bentuk sirkuit terpadu tunggal, telah disederhanakan, persyaratan pengembangannya telah dikurangi, dan menjadi lebih murah.

Setelah munculnya prosesor RISC, prosesor tradisional menerima

Penunjukan CISC - yaitu, dengan set instruksi lengkap (Complete Instruction Set Computer).

Saat ini prosesor RISC tersebar luas. Prosesor RISC modern dicirikan oleh:

sebagai berikut:

satu set perintah yang disederhanakan;

perintah fixed-length dan fixed-format digunakan,

cara pengalamatan sederhana, yang memungkinkan Anda menyederhanakan logika perintah decoding;

sebagian besar perintah dieksekusi dalam satu siklus prosesor;

logika eksekusi perintah untuk meningkatkan kinerja

berfokus pada perangkat keras daripada implementasi firmware,

tidak ada makro yang memperumit struktur prosesor dan

mengurangi kecepatan kerjanya;

interaksi dengan RAM terbatas pada operasi

transfer data;

untuk memproses, sebagai aturan, perintah tiga alamat digunakan, yang

selain menyederhanakan dekripsi, ini memungkinkan untuk menghemat lebih banyak

jumlah variabel dalam register tanpa memuat ulang selanjutnya;

pipa perintah telah dibuat yang memungkinkan Anda untuk memproses beberapa dari mereka

serentak;

kehadiran sejumlah besar register;

memori berkecepatan tinggi digunakan.

Dalam prosesor RISC, pemrosesan instruksi mesin dibagi menjadi:

beberapa tahap, setiap tahap dilayani oleh ruang kontrol terpisah

berarti dan terorganisir transfer data dari satu tahap ke tahap berikutnya.

Dalam hal ini, produktivitas meningkat karena fakta bahwa beberapa instruksi dieksekusi secara bersamaan pada berbagai tahap pipa.

Eksekusi perintah tipikal dapat dibagi menjadi langkah-langkah berikut:

mengambil instruksi IF - instruksi diambil dari memori di alamat yang ditentukan oleh penghitung instruksi;

2) decoding perintah ID - mencari tahu artinya, mengambil operan dari register;

3) melakukan operasi EX, jika perlu, mengakses memori - menghitung alamat fisik;

4) akses ke memori ME;

5) mengingat hasil WB

Dalam prosesor RISC, set instruksi yang dapat dieksekusi dikurangi seminimal mungkin. Untuk mengimplementasikan operasi yang lebih kompleks, Anda harus menggabungkan perintah. Dalam hal ini, semua perintah memiliki format panjang tetap (misalnya, 12, 14 atau 16 bit), perintah diambil dari memori dan dieksekusi dalam satu siklus (jam) sinkronisasi. Set instruksi prosesor RISC mengasumsikan bahwa semua register prosesor dapat digunakan secara merata. Ini memberikan fleksibilitas tambahan untuk berbagai operasi. MK dengan prosesor RISC antara lain AVR MK dari Atmel, MK PIC16 dan PIC17 dari Microchip, dan lain-lain.

Sekilas, MCU dengan prosesor RISC seharusnya memiliki kinerja yang lebih tinggi daripada MCU CISC pada laju clock bus internal yang sama. Namun dalam praktiknya, masalah kinerja lebih kompleks dan kontroversial.

Gambar 2 Struktur MK dengan arsitektur RISC

Arsitektur Harvard hampir tidak digunakan sampai akhir 1970-an, ketika produsen MC menyadari bahwa itu menawarkan keuntungan tertentu kepada pengembang sistem kontrol otonom.

Faktanya adalah, dilihat dari pengalaman menggunakan MPS untuk mengontrol berbagai objek, untuk implementasi sebagian besar algoritma kontrol, keunggulan arsitektur von Neumann seperti fleksibilitas dan universalitas tidak terlalu penting. Analisis program kontrol nyata menunjukkan bahwa jumlah yang diperlukan dari memori data MC yang digunakan untuk menyimpan hasil antara, sebagai aturan, urutan besarnya kurang dari jumlah yang dibutuhkan dari memori program. Dalam kondisi ini, penggunaan ruang alamat tunggal menyebabkan peningkatan format perintah karena peningkatan jumlah bit untuk menangani operan. Penggunaan memori data yang terpisah, kecil dalam hal volume, berkontribusi pada pengurangan panjang instruksi dan percepatan pengambilan informasi dalam memori data.

Selain itu, arsitektur Harvard memberikan kecepatan eksekusi program yang berpotensi lebih tinggi dibandingkan dengan arsitektur von Neumann karena kemungkinan penerapan operasi paralel. Pengambilan instruksi berikutnya dapat terjadi bersamaan dengan eksekusi instruksi sebelumnya, dan tidak perlu menghentikan prosesor saat mengambil instruksi. Metode pelaksanaan operasi ini memungkinkan untuk memastikan pelaksanaan berbagai instruksi untuk jumlah siklus yang sama, yang memungkinkan untuk lebih mudah menentukan waktu eksekusi siklus dan bagian kritis program.

Sebagian besar pabrikan MCU 8-bit modern menggunakan arsitektur Harvard. Namun, arsitektur Harvard tidak cukup fleksibel untuk mengimplementasikan beberapa rutinitas perangkat lunak. Oleh karena itu, perbandingan MC yang dibuat pada arsitektur yang berbeda harus dilakukan dalam kaitannya dengan aplikasi tertentu.

2.3 Mikrokontroler dengan arsitektur RISC

PIC16C71 milik keluarga mikrokontroler CMOS. Ini berbeda karena ia memiliki EPROM internal 1K x 14 bit untuk program, data 8-bit, dan konverter A / D internal 64-byte. Mereka dibedakan oleh biaya rendah dan kinerja tinggi.

Pengguna yang akrab dengan keluarga PIC16C5X dapat melihat

daftar rinci perbedaan antara pengontrol baru dan yang diproduksi sebelumnya.

Semua instruksi adalah satu kata (lebar 14 bit) dan dieksekusi dalam satu siklus (200 ns pada 20 MHz), kecuali untuk instruksi lompat, yang dieksekusi dalam dua siklus (400 ns).

PIC16C71 memiliki interupsi empat sumber dan

tumpukan perangkat keras delapan tingkat.

Periferal termasuk timer / counter 8-bit dengan 8-bit

prescaler yang dapat diprogram (sebenarnya timer 16-bit),

13 jalur I/O dua arah dan ADC delapan bit. Tinggi

kapasitas beban (arus tenggelam maksimum 25 mA, arus tenggelam maksimum 20 mA

arus) dari jalur I / O menyederhanakan driver eksternal dan dengan demikian mengurangi

total biaya sistem.

ADC memiliki empat saluran, rangkaian pengambilan sampel dan penyimpanan, resolusi 8

bit dengan kesalahan tidak lebih dari satu bit paling tidak signifikan. Waktu rata-rata

konversi 30 s, termasuk waktu pengambilan sampel.

Seri PIC16C71 cocok untuk berbagai macam aplikasi dari sirkuit

kontrol kecepatan tinggi motor otomotif dan listrik ke transceiver jarak jauh yang hemat biaya, menunjukkan instrumen dan komunikasi

prosesor. Kehadiran ROM memungkinkan Anda untuk menyesuaikan parameter dalam aplikasi

program (kode pemancar, kecepatan mesin, frekuensi penerima, dll.).

Ukuran paket yang kecil untuk pemasangan konvensional dan permukaan membuat rangkaian mikrokontroler ini cocok untuk aplikasi portabel.

Biaya rendah, ekonomis, kecepatan, kemudahan penggunaan, dan fleksibilitas I/O membuat PIC16C71 menarik bahkan di area di mana mikrokontroler belum pernah digunakan sebelumnya. Misalnya, penghitung waktu, penggantian logika keras dalam sistem besar, koprosesor.

Mikrokontroler memiliki:

hanya 35 perintah sederhana;

semua perintah dieksekusi dalam satu siklus (200ns), kecuali untuk perintah lompat - 2

siklus;

frekuensi operasi 0 Hz ... 20 MHz (siklus perintah min 200 ns)

14 - perintah bit;

data 8-bit;

36 x 8 register penggunaan umum;

15 register perangkat keras khusus SFR;

tumpukan perangkat keras delapan tingkat;

pengalamatan data dan perintah secara langsung, tidak langsung dan relatif;

empat sumber interupsi:

masukan eksternal INT

Timer RTCC meluap

interupsi pada penyelesaian konversi analog-ke-digital

interupsi ketika sinyal berubah pada jalur port B.

Periferal, input dan output dari mikrokontroler memiliki:

13 jalur I / O yang dapat dikonfigurasi secara individual;

Sink / Sink saat ini untuk menggerakkan LED

... arus tenggelam maks - 25 mA

... arus maksimum yang mengalir - 20 mA

8-bit timer / counter RTCC dengan prescaler 8-bit yang dapat diprogram;

modul ADC:

4 input analog multipleks terhubung ke satu

konverter analog ke digital

pengambilan sampel \ skema penyimpanan

waktu konversi - 20 s per saluran

konverter - 8 bit, dengan kesalahan + -1 LSB

input untuk tegangan referensi eksternal Vref (Vref<= Vdd)

rentang sinyal input analog dari Vss ke Vref

reset otomatis saat dihidupkan;

timer aktif saat reset;

pengatur waktu mulai generator;

Watchdog timer WDT dengan generator bawaannya sendiri yang menyediakan

peningkatan keandalan;

bit privasi EPROM untuk melindungi kode;

mode TIDUR ekonomis;

bit yang dapat dipilih pengguna untuk mengatur mode eksitasi generator bawaan:

RC generator RC

resonator kristal XT konvensional

resonator kristal kuarsa frekuensi tinggi HS

kristal LP frekuensi rendah yang ekonomis

built-in perangkat pemrograman EPROM memori program,

hanya dua kaki yang digunakan.

Sebutan kaki dan tujuan fungsionalnya:

RA4 / RTCC - Input Pemicu

Schmidt. Kaki port I / O dengan

saluran terbuka atau masukan frekuensi untuk

pengatur waktu/penghitung RTCC.

RA0 / AIN0 - Jalur I / O dua arah.

Saluran masukan analog 0.

RA1 / AIN1 - Jalur I / O dua arah.

Saluran masukan analog1.

Ini memiliki level TTL sebagai input digital.

RA2 / AIN2 - Jalur I / O dua arah.

Saluran masukan analog2.

Ini memiliki level TTL sebagai input digital.

RA3 / AIN3 / Vref - Jalur I / O dua arah.

RB0/INT - Jalur port dua arah

keluaran atau masukan interupsi eksternal.

RB1 - RB5 - Jalur input dua arah /

penarikan.

RB6 - Jalur input dua arah /

penarikan.

RB7 - Jalur input dua arah /

penarikan.

/ MCLR / Vpp - Level rendah untuk ini

input menghasilkan sinyal reset

untuk pengontrol. Aktif rendah.

Masuk melalui pemicu Schmidt.

OSC1 - Untuk menghubungkan input kristal, RC atau jam eksternal.

OSC2 - Osilator, keluaran jam

CLKOUT - frekuensi dalam mode osilator RC, dalam kasus lain - untuk menghubungkan. kuarsa

Vdd - Tegangan suplai.

Vss - Umum (tanah).

Kesimpulan

Mata kuliah ini membahas tentang mikrokontroler dengan arsitektur RISC dan CISC. Arsitektur RISC telah dilihat secara lebih mendalam dan lebih tepat. Klasifikasi yang dicatat, struktur mikrokontroler, struktur

inti prosesor mikrokontroler, fitur utama arsitektur RISC.

Saat ini terdapat lebih dari 200 modifikasi mikrokontroler yang kompatibel dengan i8051, diproduksi oleh dua lusin perusahaan, dan sejumlah besar mikrokontroler jenis lainnya. Populer di kalangan pengembang adalah mikrokontroler PIC 8-bit dari Microchip Technology dan AVR dari Atmel, MSP430 16-bit dari TI, serta ARM, yang arsitekturnya dikembangkan oleh ARM dan menjual lisensi ke perusahaan lain untuk produksi mereka, prosesor - mikrokontroler.

Saat merancang mikrokontroler, Anda harus mencapai keseimbangan antara ukuran dan biaya di satu sisi, dan fleksibilitas dan kinerja di sisi lain. Untuk aplikasi yang berbeda, rasio optimal parameter ini dan lainnya dapat sangat bervariasi. Oleh karena itu, ada sejumlah besar jenis mikrokontroler yang berbeda dalam arsitektur modul prosesor, ukuran dan jenis memori internal, set perangkat periferal, jenis paket, dll.

Daftar literatur yang digunakan

1. "?????? ????????????????? ???????", ?????? ?.?. ??????? ? ?.?. ????????????.

2. "??????????? ?????????????? ??????". ?????? "????? ? ?????" 1990 ?. ????? ?.?. ???????.

3. "??????????-?????????????? ?????? ? ???????". ?????? "????? ? ?????" 1991 ?. ?????? ?.?. ?????.

Dokumen serupa

    Mikrokontroler - sirkuit mikro yang dirancang untuk mengontrol perangkat elektronik, klasifikasinya. Struktur inti prosesor mikrokontroler, karakteristik utama yang menentukan kinerjanya. Arsitektur prosesor CISC dan RISC.

    makalah, ditambahkan 10/03/2010

    Mikrokontroler (MCU) adalah sirkuit mikro yang dirancang untuk mengontrol perangkat elektronik. Mereka dapat ditemukan di banyak peralatan modern, termasuk peralatan rumah tangga. Pertimbangan arsitektur berbagai mikrokontroler, inti, memori, catu daya, periferal.

    abstrak, ditambahkan 24/12/2010

    Struktur fragmen prosesor. Komposisi fungsional unit prosesor. Sinyal input / output distributor. Kontrol firmware untuk perintah. Perangkat kontrol dan sinkronisasi, prinsip operasinya. Port input, output mikrokontroler.

    makalah ditambahkan 17/04/2015

    Mikrokontroler - komputer pada satu sirkuit mikro, tujuannya adalah untuk mengontrol perangkat elektronik sesuai dengan yang diprogram. Lingkungan pemrograman mikrokontroler, diagram koneksinya. Implementasi program pada mikrokontroler.

    makalah ditambahkan 21/02/2011

    Mikrokontroler sebagai sirkuit mikro yang dirancang untuk mengontrol perangkat elektronik, struktur dan komponennya, ruang lingkup dan prevalensinya. Hukum Moore. Debugging simbolis program untuk MK. Data dalam program perakitan.

    makalah, ditambahkan 12/11/2010

    Tujuan dan kondisi pengoperasian perangkat LED pada MK ATtiny 15. Mikrokontroler sebagai sirkuit mikro yang dirancang untuk mengontrol perangkat elektronik. Justifikasi penerapannya. Pengembangan diagram blok perangkat LED.

    makalah ditambahkan 04/04/2015

    Merancang modul prosesor - perangkat independen yang, sesuai dengan data input, melakukan salah satu dari dua tindakan: mengalikan bilangan bulat yang tidak ditandatangani dan mengubah bilangan biner-desimal ke biner. Merancang M-automaton.

    makalah ditambahkan 16/06/2011

    Konsep dan jenis mikrokontroler. Fitur pemrograman sistem mikroprosesor, konstruksi sistem kontrol untuk proses teknologi kimia. Mempelajari arsitektur mikrokontroler AVR ATmega132 dan membangun platform Arduino atas dasar itu.

    makalah, ditambahkan 13/01/2011

    Pengembangan antarmuka dan diagram struktural yang disempurnakan, modul prosesor, memori dan subsistem input / output, algoritma perangkat lunak. Evaluasi program dan memori data. Struktur ruang alamat. Organisasi keyboard dan indikasi.

    makalah ditambahkan 08/09/2015

    Implementasi elemen memori dinamis untuk komputer pribadi dalam bentuk sirkuit mikro. Struktur matriks chip memori pada modul. DIP adalah sirkuit mikro dengan dua baris kontak di kedua sisi kasing. Tanda khusus pada casing modul memori.