- Arsitektur Prosesor
- Arsitektur Set Instruksi RISC dan CISC
- Komputasi Set Instruksi Kompleks (CISC)
- Reduced Instruction Set Computing (RISC)
Sistem tertanam adalah jantung dan inti dari sebagian besar produk elektronik yang tersedia di pasar. Ini adalah implementasi teknik di mana perangkat keras bertemu dengan perangkat lunak. Kita dikelilingi oleh dunia sistem yang tertanam, dengan komputer mini di kunci pintu biometrik, pesawat terbang, mobil, alat pacu jantung, dll. Sumber daya yang terbatas, sistem kecil, cerdas dan kuat ini membantu kita dalam tugas sehari-hari.
Pernah terpikir bagaimana tubuh kita berfungsi, sistem saraf, otak dan kemampuannya untuk multitasking. Jika Anda menggabungkan semua fungsi ini, Anda akan mendapatkan gambaran kasar tentang sistem tertanam biologis. Otak kita menyembunyikan detail kompleks dari fungsinya yang terjadi di dalamnya tetapi memungkinkan kita untuk mengendalikannya hingga potensi maksimum. Kompleksitas yang sama berlaku untuk prosesor atau pengontrol yang digunakan dalam sistem tertanam. Mereka menyembunyikan detail kompleks dan memberi kami antarmuka tingkat tinggi untuk dikerjakan. Untuk tingkat abstraksi, seseorang dapat menghubungkan bagaimana kode untuk menambahkan dua angka dalam bahasa pemrograman tingkat tinggi menyebabkan register di chip menangani bit dan memberikan keluaran kembali kepada pengguna.
Arsitektur Prosesor
Unit pemrosesan pusat, mengacu pada mikroprosesor dan mikrokontroler, melakukan tugas-tugas tertentu dengan bantuan Unit Kontrol (CU) dan Unit Logika Aritmatika (ALU). Saat instruksi dikirimkan dari RAM, CPU bertindak dengan bantuan dua unit bantuannya dengan membuat variabel dan menugaskannya ke nilai dan memori. Sangat penting untuk mengetahui bagaimana CPU melakukan semua tindakan ini dengan bantuan arsitekturnya. Jika Anda ingin mengetahui lebih lanjut tentang cara kerja mikrokontroler, Anda dapat membaca artikel dasar mikrokontroler ini.
Setiap CPU memiliki memori yang terkait dengannya untuk menyimpan program dan data. Program dan data bekerja dengan CPU untuk mendapatkan keluaran. Program memberikan instruksi sementara data memberikan informasi yang akan dikerjakan. Untuk mengakses program dan data CPU menggunakan bus, bus ini adalah kabel, lebih tepatnya ini adalah jejak kabel seperti yang mungkin Anda lihat pada papan sirkuit tercetak. Selama beberapa tahun ini mikrokontroler dan mikroprosesor telah berevolusi dengan mengadaptasi berbagai arsitektur, berdasarkan kebutuhan aplikasi atau desain pemilihan mikrokontroler dipengaruhi oleh jenis arsitektur yang digunakan di dalamnya. Mari kita lihat arsitektur yang populer.
Arsitektur Von-Neumann / Princeton
Cara CPU mendapatkan akses ke program dan data, menjelaskan tentang arsitektur CPU. Sebelumnya satu bus digunakan untuk mendapatkan akses ke program dan data. Jenis arsitektur ini dikenal sebagai Arsitektur Von Neumann atau lebih sederhana Arsitektur Princeton. Bus tunggal untuk mendapatkan kode dan data berarti, mereka datang untuk menghalangi satu sama lain dan memperlambat kecepatan pemrosesan CPU karena masing-masing harus menunggu yang lain untuk menyelesaikan pengambilan. Batasan ini juga dikenal sebagai kondisi bottleneck Von-Neumann.
Arsitektur Harvard
Untuk mempercepat proses Arsitektur Harvard diusulkan. Dalam arsitektur ini terdapat bus data terpisah untuk data dan program. Jadi maksudnya arsitektur ini mengusulkan penggunaan empat bus
- Satu set bus data yang membawa data masuk dan keluar dari CPU.
- Satu set bus alamat untuk mengakses data.
- Satu set bus data untuk membawa kode ke dalam CPU.
- Bus alamat untuk mengakses kode.
Penggunaan bus alamat dan bus data yang terpisah berarti waktu eksekusi yang rendah untuk CPU tetapi hal ini mengakibatkan kerumitan dalam mendesain arsitektur. Arsitektur Von Neumann mungkin terdengar agak malas tetapi memiliki kelebihan dari desainnya yang sederhana.
Arsitektur Harvard jauh lebih mudah diimplementasikan ketika CPU dan unit memori berbagi ruang yang sama atau RAM dan ROM terpasang (on-chip) dengan unit pemrosesan, seperti pada mikrokontroler yang jaraknya dalam mikron dan milimeter. Namun, arsitektur yang sama sulit diterapkan di mana memori yang menyimpan kode berada di luar unit pemrosesan seperti yang ada di IBM PC x86. Satu set jejak kabel terpisah untuk data dan alamat pada motherboard akan membuat papan rumit dan mahal. Mari kita pahami dengan contoh prosesor.
Prosesor dengan bus data 64-bit dan bus alamat 32-bit akan membutuhkan sekitar 100 bus (96 untuk bus data dan alamat dan beberapa lainnya untuk sinyal kontrol) untuk implementasi arsitektur Von-Neumann. Struktur yang sama jika diimplementasikan dengan arsitektur Harvard akan membutuhkan biaya jejak kabel ganda sekitar 200 dengan sejumlah besar pin yang keluar dari prosesor. Itu untuk alasan yang sama kita tidak melihat arsitektur Harvard murni diimplementasikan untuk PC dan workstation. Sebaliknya, arsitektur Harvard yang dimodifikasi digunakan di mana hierarki memori dengan memori cache CPU digunakan untuk memisahkan program dan data. Hierarki memori memisahkan penyimpanan berdasarkan hierarki waktu respons proses.
Arsitektur Set Instruksi
Karena program (kode) dimuat ke dalam memori sistem (RAM), program itu diambil oleh CPU (mengacu pada mikroprosesor dan mikrokontroler) untuk bertindak atas data, ini sangat mirip seperti yang kita berikan instruksi ketika kita melatih anjing untuk tindakan dan perintah tertentu. Saat instruksi tersebut diterapkan pada transistor tertentu, berpindah dari satu level logika ke level logika lainnya untuk mewujudkannya. Jadi pada dasarnya dengan bantuan instruksi programmer manusia berkomunikasi dengan prosesor. Setiap CPU memiliki set instruksinya sendiri, kumpulan instruksi berdasarkan arsitektur dan kemampuannya.
CPU memahami instruksi ini dalam kombinasi 0 dan 1 yang juga dikenal sebagai opcode. Untuk programmer manusia, sangat sulit untuk mengingat kombinasi 0 dan 1 untuk setiap instruksi yang terkait dengan CPU. Untuk menjaga pekerjaan pemrogram manusia tetap mudah, kami disediakan antarmuka tingkat tinggi dari instruksi ini dan kompilator mengubahnya dalam bentuk 0 dan 1 untuk pemrosesannya. Juga di set instruksi dari setiap CPU, ia memiliki sejumlah instruksi yang dapat dipahami.
Performa CPU
Anda mungkin pernah mendengar istilah clock rate CPU terkait dengan kinerja CPU. CPU umumnya memiliki clock rate dalam MHz (Mega-Hertz) atau GHz (Giga-Hertz) seperti clock rate 25 GHz. Angka yang terkait dengan clock rate memberi tahu berapa kali clock di dalam CPU berdetak dalam siklus per detik. Kepraktisan clock rate dapat dipahami dengan fakta bahwa instruksi dilakukan berdasarkan siklus clock CPU yang sebanding dengan jumlah program yang dapat dijalankan CPU pada satu waktu.
The kinerja CPU tergantung pada jumlah instruksi yang ditulis dalam program ini, lebih petunjuk, lebih waktu yang dibutuhkan oleh CPU untuk melakukan itu. Itu juga tergantung pada jumlah siklus jam di mana setiap instruksi dijalankan, instruksi tertentu membutuhkan lebih banyak siklus jam untuk dieksekusi daripada yang lain sehingga mereka memperlambat kinerja CPU. Instruksi dalam program dan siklus yang diperlukan untuk melakukan setiap instruksi berbanding terbalik satu sama lain. Mengubah satu akan mempengaruhi yang lain. Ini adalah titik di mana industri CPU terbagi.
Arsitektur Set Instruksi RISC dan CISC
Seperti dikatakan di atas, Eksekusi program dan kinerja CPU bergantung pada jumlah instruksi dalam program di mana instruksi tersebut diusulkan ke CPU tertentu sebagai bagian dari set instruksi dan faktor kedua adalah jumlah siklus clock di yang mana setiap instruksi dijalankan. Berdasarkan kedua faktor ini, saat ini tersedia dua set instruksi. Yang paling awal adalah Complex Instruction Set Computing (CISC) sedangkan yang lainnya adalah Reduced Instruction Set Computing (RISC). Mari kita bahas masing-masing arsitektur ini secara rinci untuk memahami perbedaan antara Arsitektur RIC dan CISC.
Komputasi Set Instruksi Kompleks (CISC)
CISC adalah singkatan dari Complex Instruction Set Computing. Motif utama CISC adalah untuk mengurangi jumlah instruksi yang dijalankan oleh program, ini dilakukan dengan menggabungkan banyak instruksi sederhana seperti mode alamat, pemuatan, dll. Dan untuk membentuk satu instruksi yang kompleks. The instruksi CISC mencakup serangkaian instruksi sederhana serta beberapa petunjuk khusus yang mengambil siklus lebih dari satu jam untuk mengeksekusi. Instruksi CISC dapat langsung bekerja pada memori tanpa intervensi register yang berarti menghilangkan kebutuhan untuk beberapa instruksi dasar seperti pemuatan nilai dan kebutuhan memori (RAM). Instruksi CISC lebih menekankan pada perangkat keras daripada pada perangkat lunak, yang berarti bahwa alih-alih membebani kompiler,CISC menggunakan transistor sebagai perangkat keras untuk memecahkan kode dan mengimplementasikan instruksi. Namun, karena instruksi itu kompleks dan terdiri dari beberapa langkah, mereka dieksekusi dalam lebih banyak siklus clock.
Sebuah analogi sederhana untuk berhubungan adalah ketika Anda diberitahu untuk membuka buku dan membaca 3 rd 2 bab nd halaman. Dalam rangkaian kegiatan ini, Anda melakukan beberapa langkah-langkah seperti menemukan buku dari tas Anda daripada menyeret halaman untuk bab 3 dan kemudian pergi ke 2 nd halaman bab dan kemudian mulai membaca. Rangkaian langkah jika digabungkan dalam satu instruksi membaca halaman 44 (yang merupakan 2 nd halaman jumlah 3 rd bab), kita mendapatkan instruksi CISC.
Reduced Instruction Set Computing (RISC)
Chip terintegrasi pertama dirancang oleh Jack Kilby pada tahun 1958 yang merupakan sebuah osilator dan pada tahun 1970-an Mikroprosesor komersial pertama keluar dari Intel. Meskipun pada awal prosesor tidak ada CISC. Tetapi dengan tuntutan komputasi yang berat, arsitektur CISC menjadi lebih kompleks dan sulit untuk ditangani. Desain ulang total arsitektur CISC yang dikenal sebagai RISC keluar dari IBM oleh John Coke. Jadi untuk membedakan antara dua arsitektur, istilah RISC dan CISC diperkenalkan.
RISC adalah singkatan dari komputasi set instruksi yang dikurangi. Motif utama RISC adalah untuk memperkenalkan keseragaman dalam ukuran dan pelaksanaan instruksi. Hal ini dilakukan dengan memperkenalkan set instruksi sederhana yang dapat dieksekusi sebagai satu instruksi per siklus, hal ini dilakukan dengan memecah instruksi yang kompleks seperti memuat dan menyimpan ke dalam instruksi yang berbeda, dimana setiap instruksi kurang lebih membutuhkan satu siklus clock untuk dieksekusi. The arsitektur RISC termasuk instruksi sederhana dengan ukuran yang sama yang bisa dieksekusi dalam satu siklus clock tunggal. Mesin berbasis RISC membutuhkan lebih banyak RAM daripada CISC untuk menampung nilai saat memuat setiap instruksi ke dalam register. Eksekusi instruksi tunggal per siklus memberikan keunggulan pipelining pada mesin berbasis RISC(pipelining adalah proses di mana instruksi berikutnya dimuat sebelum instruksi pertama dijalankan, ini meningkatkan efisiensi eksekusi). Arsitektur RISC menekankan