SISTEM MIKROPROSESOR
Sebuah Sistem Mikroprosesor adalah sekumpulan perangkat yang terdiri dari sebuah Mikroprosesor dan beberapa perangkat pendukung lainnya sehingga mampu menjalankan fungsi sesuai dengan instruksi-instruksi yang tersusun didalam programnya. Banyaknya perangkat pendukung mikroprosesor sangat tergantung dari kerumitan fungsi yang diharapkan. Perangkat pendukung minimum yang diperlukan oleh sebuah mikroprosesor disebut sistem minimum mikroprosesor terdiri dari mikroprosesor, memori, dan
beberapa Port input / output (I / O). Mikroprosesor, sering disebut unit mikroprosesor (MPU) atau central
processing unit (CPU), berisi logika untuk bekerja melalui sebuah algoritma,
yang disebut program, yang telah disimpan dalam memori program komputer. Data
yang digunakan dan dimanipulasi oleh program disimpan di memori data komputer.
Memori adalah gudang data yang biasanya disimpan sebagai array linier dari
lokasi dan dapat diakses secara individual. Mikroprosesor dapat mengakses
lokasi tertentu di memori dengan mengeluarkan alamat memori (indeks lokasi yang
diinginkan) ke elemen memori. elemen I / O memungkinkan mikroprosesor untuk
berkomunikasi dengan dunia luar untuk memperoleh data baru dan menyajikan hasil
perhitungan tersebut diprogram. Elemen tersebut dapat meliputi kontroler keyboard atau layar.
Gambar Diagram blok dasar sistem mikroprosesor
Program terdiri dari banyak operasi individu yang sangat sederhana, yang
disebut isntruksi, yang menentukan secara rinci dan tepat bagaimana
mikroprosesor harus melakukan algoritma. Sebuah program sederhana mungkin
memiliki puluhan instruksi, sedangkan program yang kompleks dapat memiliki
puluhan juta instruksi. Secara kolektif, program yang dijalankan pada
mikroprosesor disebut perangkat lunak, berbeda dengan hardware yang menjalankan
mereka. Setiap jenis mikroprosesor memiliki set instruksi sendiri yang
mendefinisikan set lengkap yang unik, operasi diskrit yang mampu dilaksanakan.
Instruksi ini melakukan tugas yang sangat kecil, mereka sendiri, mungkin tampak
tidak signifikan. Namun, ketika ribuan atau jutaan instruksi kecil yang
dirangkai, mereka dapat menciptakan video game atau word processor.
Sebuah mikroprosesor memiliki kecerdasan tidak melekat atau kemampuan untuk mulai melakukan pekerjaan yang bermanfaat secara spontan. Setiap mikroprosesor dibangun dengan set instruksi yang dapat dipanggil dalam urutan yang mengikat. Oleh karena itu, sebuah mikroprosesor memiliki potensi untuk melakukan pekerjaan yang berguna, tetapi tidak akan melakukan hal semacam itu sendiri. Untuk membuat mikroprosesor melakukan pekerjaan yang berguna, membutuhkan bimbingan eksplisit dalam bentuk pemrograman software. Bahkan sebuah tugas kompleksitas modern harus dipecah menjadi banyak langkah kecil untuk diterapkan pada mikroprosesor. Langkah-langkah ini meliputi aritmatika dasar, operasi Boolean, memuat data dari memori atau elemen input seperti keyboard, dan menyimpan data kembali ke memori atau elemen output seperti printer.
Struktur memori adalah salah satu karakteristik kunci komputer, karena
mikroprosesor yang hampir terus-menerus mengakses itu untuk mengambil instruksi
baru, memuat data baru untuk beroperasi padanya, atau menyimpan hasil yang
dihitung. Sementara memori program dan data secara logis diklasifikasikan
berbeda, mereka dapat berbagi sumber fisik memori yang sama. Random access
memory (RAM) adalah istilah yang digunakan untuk menggambarkan sumber memori
generik yang lokasinya dapat diakses, atau ditangani, dalam urutan perintah
membaca atau menulis. Read adalah
proses mengambil data dari alamat memori dan mengisikan ke dalam mikroprosesor.
Write adalah proses menyimpan data ke
alamat memori dari mikroprosesor. Program dan data, keduanya dapat menempati
RAM. Perhatikan komputer desktop Anda. Ketika Anda menjalankan program yang
terletak pada disk drive, program yang pertama kali dimuat ke RAM komputer dan
kemudian dieksekusi adalah dari daerah yang disiapkan untuk memori program.
Seperti pada komputer desktop, RAM yang paling sering adalah volatile-artinya kehilangan isinya
ketika power dimatikan.
a) Central Proccesing Unit
Central Proccesing Unit (CPU) Komputer Modern dikemas dalam bentuk rangkaian terintegrasi (IC)
dengan ukuran yang relatif kecil dan disebut mikroprosesor. Sebuah
mikroprosesor adalah perangkat yang dapat diprogram dan dapat menerima data
biner dari perangkat masukan, mengolah data terkait dengan instruksi yang
tersimpan di memori dan memberikan hasilnya sebagai keluaran. Dengan kata lain,
mikroprosesor menjalankan program yang tersimpan didalam memori dan memindah
data ke dan dari dunia kuar melalui terminal I/O.
b) Data Bus
Sebuah mikroprosesor menghubungkan ke perangkat seperti memori dan I / O
melalui bus data dan alamat. Secara kolektif, kedua bus dapat disebut sebagai
bus mikroprosesor. Sebuah bus adalah kumpulan kabel yang melayani fungsi yang
sama. Bus data adalah larik bit dengan ukuran yang cukup untuk berkomunikasi
satu unit data yang lengkap pada suatu waktu. Paling sering, bus data adalah
satu atau lebih lebar byte. Delapan bit mikroprosesor, yang beroperasi pada
satu byte pada suatu waktu, hampir selalu memiliki data bus delapan-bit. Sebuah
mikroprosesor 32-bit, mampu beroperasi pada hingga 4 byte pada suatu waktu,
dapat memiliki bus data yang lebarnya 32, 16, atau 8 bit. Lebar bus data yang
tepat adalah implementasi spesifik dan bervariasi sesuai dengan aplikasi yang
dimaksud mikroprosesor. Sebuah lebar bus sempit berarti bahwa itu akan
mengambil lebih banyak waktu untuk berkomunikasi sejumlah data dibandingkan
dengan bus yang lebih lebar. Notasi umum untuk bus data D [07:00] untuk bus
8-bit dan D [31:0] untuk bus 32-bit, di mana 0 adalah bit paling kecil (LSB).
data bus
c) Address Bus
Bus alamat adalah larik bit dengan ukuran yang cukup untuk sepenuhnya
mengekspresikan ruang alamat mikroprosesor. Alamat ruang mengacu pada jumlah
maksimum memori dan I / O yang mana mikroprosesor secara langsung dapat
mengakses. Jika mikroprosesor memiliki bus alamat 16-bit, dapat menangani
alamat hingga 162 = 65.536 bytes. Oleh karena itu, ia memiliki ruang
alamat 64 kB. Seluruh address space tidak harus digunakan; itu hanya menetapkan
batas maksimum pada ukuran memori. Notasi umum untuk 16-bit address bus adalah
A [15:0], di mana 0 adalah bit paling kecil. Gambar 1.10. menunjukkan konfigurasi bus mikroprosesor khas dalam komputer. Perhatikan
bahwa bus alamat adalah searah (mikroprosesor mengirimkan permintaan alamat
untuk berbagai perangkat), dan bus data dua arah (mikroprosesor mengirmkan data
ketika menulis dan perangkat mengirimkan data ketika dibaca).
Seluruh ruang alamat
Sebuah mikroprosesor tidak pernah ditempati oleh fungsi tunggal; melainkan
dibagi oleh ROM, RAM, dan berbagai I / O. Setiap perangkat dipetakan ke wilayah
sendiri-sendiri dari ruang alamat dan diaktifkan hanya ketika mikroprosesor mengirimkan
alamat dalam wilayah yang dipetakan untuk perangkat tersebut. Proses menyatakan
bahwa alamat dalam suatu wilayah yang diinginkan disebut decoding. Logika alamat digunakan untuk membagi ruang alamat
keseluruhan menjadi bagian-bagian yang lebih kecil di mana memori dan perangkat
I / O berada. Logika ini menghasilkan sinyal individu yang mengaktifkan
perangkat yang sesuai berdasarkan keadaan bus alamat sehingga perangkatnya
tidak memerlukan pengetahuan tentang decoding unik alamat komputer tertentu.
Address bus
d) Control Bus
Bus
kendali (control bus) terdiri sejumlah jalur individu yang membawa sinyal
penyerempak. Istilah bus normalnya berarti sekelompok jalur yang bekerja
serempak. Bus kendali mengirim keluar sinyal kendali ke memori, terminal I/O
dan perangkat peripheral lain untuk memastikan bekerja tepat. Ini membawa
sinyal kendali seperti membaca memori, menulis memori, membaca terminal
masukan, menulis terminal keluaran, menggenggam, interupsi, dan lainnya.
Sebagai contoh, jika diinginkan untuk membaca isi dari lokasi
memori tertentu, CPU pertama mengirimkan keluar alamat dari lokasi pada bus
address dan sinyal kendali “baca memori” pada bus kendali. Memori menanggapi
dengan mengeluarkan data yang tersimpan di lokasi memori yang dialamatikepada
bus data.
control bus
e) Read Only Memory
Read Only Memory atau ROM digunakan untuk menyimpan data yang bersifat
tetap diantaranya data instruksi atau program yang harus dijalankan oleh
mikroprosesor. Selain itu juga data operasi yang tidak boleh hilang ketika
catudaya dimatikan. Perangkat yang dapat menyimpan informasi atau pengaturan,
baik secara permanen (nonvolatile memori) atau sementara yang membutuhkan pasokan
tenaga listrik tetap ada (memori volatile), merupakan bagian penting dari
hampir setiap sistem elektronik modern. Bahkan peralatan yang tidak memiliki kemampuan diprogram ulang mungkin berisi perangkat yang dikonfigurasi pada saat atau
setelah perakitan, untuk mengurangi persediaan bahan, sehingga produsen memiliki kemampuan untuk menjaga
dan membuat desain yang lebih fleksibel dengan memungkinkan modifikasi selama
produksi.
f) Random Access
Memory
Random Access Memory (RAM) merupakan penyimpan data yang dapat
ditulis, dibaca ataupun dihapus dan kemampuan penyimpanannya bergantung dari
ketersediaan sumber daya. Memori ini akan hilang jika sumber daya dimatikan,
oleh karenanya disebut memori volatile. Memori Volatile dapat menggunakan
flip-flop sebagai elemen penyimpanan, yang disebut memori statis, atau
didasarkan pada pengisian kapasitor, yang disebut memori dinamis. Istilah
statis dan dinamis berasal dari kenyataan bahwa sementara flip-flop selalu
berada pada status terakhir kecuali power supply dihapus, kapasitor akan
discharge perlahan-lahan dari waktu ke waktu sehingga perlu refresh secara
teratur agar memori tidak akan hilang.
Memori dinamis dapat dibuat dengan kerapatan yang jauh
lebih tinggi daripada memori statis karena setiap bit dalam memori membutuhkan
transistor lebih sedikit. Chip memori dinamis telah dapat dibangun di sirkuit
penyegaran yang membutuhkan perawatan dari pengisian yang diperlukan untuk
menjaga data yang tersimpan pada kapasitor, ini kadang-kadang dikenal sebagai
memori pseudo-statis karena desainer sirkuit tidak perlu memberikan penyegaran
dengan sirkuit eksternal.
RAM sangat diperlukan untuk penyimpanan data dalam jumlah besar dengan kecepatan baca dan tulis yang cepat.
g) Paralel Port Input Output
Port
I/O menyediakan sebuah antarmuka antara mikrokontroler dan perangkat I/O
seperti printer, pengendali motor, penggerak penampil, dll. Pengiriman dan penerimaan data melalui Port I/O paralel terjadi secara
serentak untuk sejumlah bit sesuai lebar data port. Arah data pada Port I/O
adalah dwi arah (Bidirectional), yang dapat mengirimkan data dari CPU ke
perangkat luar dan dapat menerima data dari perangkat luar ke CPU.
h) Serial Port Input
Output
Serial Port Input Output merupakan antarmuka antar mikroprosesor dengan perangkat
luar seperti keyboard, layar monitor dan lain-lain. Pengiriman atau penerimaan
data dilakukan setiap bit secara berurutan untuk sejumlah lebar data.
Ada dua jenis
antarmuka komunikasi serial, yaitu antarmuka komunikasi asinkron dan antarmuka
komunikasi sinkron. Antarmuka komunikasi asinkron menggunakan start dan stop
bit protokol untuk sinkronisasi pemancar dan penerima. Bitsare
mulai dan berhenti tertanam dalam setiap byte data. Dibandingkan
dengan antarmuka komunikasi sinkron, ia menawarkan kecepatan transmisi data
yang lebih rendah. Hal ini juga disebut sebagai universal asynchronous
receiver/transmitter (UART) atau antarmuka komunikasi serial (SCI). Antarmuka
komunikasi sinkron menggunakan clock disinkronisasi untuk mengirim dan menerima
setiap bit. Sinkronisasi clock transmitter dan receiver biasanya dilakukan
dengan menggunakan jalur clock tambahan menghubungkan pemancar dan penerima.
Hal ini tidak dianjurkan untuk komunikasi jarak jauh. Hal ini juga disebut sebagai
antarmuka perangkat serial (SPI).
i)
Timer / Counter
Counter merupakan rangkaian pencacah atau penghitung pulsa clock yang masuk
padanya yang dibangun dari sejumlah flip-flop. Banyaknya flip-flop yang
digunakan akan menentukan jumlah angka biner yang dapat dihitungnya. Ketika
pulsa clock dengan periode tetap diberikan pada masukkannya dan counter harus
menghitung sejumlah clock yang ditentukan maka akan diperoleh interval waktu
yang tertentu untuk menyelesaikan hitungan tersebut, fungsi ini disebut sebagai
timer. Counter/timer
biasanya melakukan tiga fungsi berikut. Mereka digunakan untuk menjaga waktu
dan/atau mengukur interval waktu antara peristiwa, menghitung jumlah kejadian
dan menghasilkan tingkat baud untuk port serial. Timer/counter mampu diprogram
(programmable timer/counter) digunakan untuk pembangkit penundaan yang akurat
untuk menghitung waktu kejadian, pembangkit tingkat, aplikasi pembangkit
gelombang kompleks dan sebagainya.
j)
Interrupt Control
Interupsi merupakan sinyal permintaan
untuk menyela program yang sedang berjalan dan menanggapi rutin interupsi yang
dibuat. Pengendali
interupsi adalah perangkat penangkap interupsi dari perangkat luar atau
periperal. Sebuah interupsi merupakan sinyal permintaan kepada CPU untuk segera
dilayani karena keadaan tertentu yang telah direncanakan. Sebuah Pengendali
Interupsi Mampu Diprogram (Programmable Interrupt controller, PIC) adalah
perangkat yang memungkinkan pemberian tingkat prioritas yang akan ditugaskan untuk output
interupsinya. Ini berfungsi sebagai manajer secara keseluruhan dalam lingkungan
sistem pengemudi interupsi. Bila perangkat memiliki beberapa output interupsi,
maka akan menegaskan mereka dalam urutan prioritas relatif mereka.