com
8
Mikroprosesor
8-bit yang
khas
1
versi baru yang kompatibel dengan Z80 sebelumnya. Hal ini
memungkinkan pelanggan cara yang mudah dan murah untuk
memperbarui sistem mereka tanpa biaya desain yang tinggi untuk
memulai dari awal dengan perangkat yang sama sekali berbeda.
2
Sebuah tipikalMikroprosesor
8-bit
Z80180 dapat menjalankan program apa pun yang ditulis untuk Z80
serta menambahkan beberapa fitur baru. Secara teknis, ini disebut
sebagai menyediakan kompatibilitas mundur penuh.
X di Z8X180
Jika kita pergi ke dealer Ford untuk membeli truk, mereka akan
menawari kita seluruh rangkaian truk, yang semuanya pada dasarnya
sama tetapi dengan pilihan ukuran mesin, kotak roda gigi, pengaturan
tempat duduk, dan banyak pilihan lainnya. Dengan cara ini, mereka
dapat menyenangkan jumlah maksimum pelanggan tanpa
menimbulkan biaya desain ulang yang signifikan.
Mikroprosesor hampir sama. Mereka mulai dengan desain dasar dan
versi serupa ditunjukkan dengan sedikit perubahan pada nomor tipe.
Sejauh ini, Zilog telah memproduksi Z80180, Z8S180, dan Z8L180.
Dengan membandingkan nomor tipe, kita dapat melihat bahwa mereka
hanya berbeda dalam angka atau huruf ketiga dan dengan mengganti
huruf ini dengan X kita dapat merujuk ke tipe umum sebagai Z8X180.
Penggunaan X ini secara umum digunakan di seluruh industri.
Kelompok mikroprosesor disebut sebagai keluarga.
Terlepas dari dorongan dari industri komputer untuk mikroprosesor
yang lebih cepat dan lebih cepat, ada banyak tujuan yang ideal untuk
mikroprosesor kecil, lambat dan sederhana. Miliaran mikroprosesor
dan mikrokontroler 4 dan 8-bit berputar jauh tertanam di dalam
benda-benda seperti oven microwave, printer, dan instrumen.
Sebagian besar dari kita berbagi rumah dengan sekitar lima puluh
perangkat ini tanpa menyadari keberadaannya. Mereka secara besar-
besaran melebihi jumlah mikroprosesor komputer berkecepatan tinggi
yang dipublikasikan dengan baik.
Gambar 8.1
Unit
pemrosesan
pusat (CPU)
3
Pengenalan Mikroprosesor dan Mikrokontroler
4
Sebuah tipikalMikroprosesor
8-bit
menjalankan instruksi dalam program. Untuk menjaga kompatibilitas
mundur, sebagian besar register menggunakan sistem pelabelan yang
sama dengan huruf agar tetap akrab bagi siapa saja yang telah
menggunakan Z80.
Petunjukdaftar
Register instruksi hanyalah sebuah memori kecil yang mampu
menyimpan 8 bit, atau 1 byte informasi. Informasi ini merupakan
instruksi untuk dijalankan oleh mikroprosesor. Informasi tersebut
dikunci ke dalam register instruksi untuk melepaskan bus data internal
untuk tujuan lain. Itu tidak melakukan apa pun dengan input biner - itu
hanya mengingat apa itu.
Dekoder instruksi
Dekoder instruksi adalah bagian dari mikroprosesor yang benar-benar
dapat melaksanakan suatu instruksi. Langkah pertama adalah
mengidentifikasi instruksi mana yang telah dimasukkan. Ini dilakukan
dengan membandingkan kode binernya dengan daftar yang disimpan
secara internal. Setelah menemukan instruksi, ia mengikuti program
bawaan yang disebut program mikro. Mikroprogram ini dirancang ke
dalam mikroprosesor oleh pabrikan dan merinci semua langkah yang
diperlukan untuk menyelesaikan instruksi apa pun yang mampu
dilakukannya. Ini adalah bagian yang sensitif dan kritis secara komersial
dari mikroprosesor.
Ketika Z80180 diberi tugas, itu harus diberi instruksi. Sebuah
instruksi dalam bentuk angka biner 8-bit. Kami akan kembali ke ini
sebentar lagi.
101
Pengenalan Mikroprosesor dan Mikrokontroler
apa yang mereka lakukan.
Ada 'register tujuan umum' yang berada di bawah kendali pengguna dan
dapat digunakan untuk berbagai tujuan penyimpanan sementara.
102
Sebuah tipikalMikroprosesor
8-bit
Ada juga register tujuan khusus yang didedikasikan untuk fungsi tertentu,
seperti register instruksi, misalnya.
Z80180 memiliki enam belas register tujuan umum, dan enam untuk
tujuan khusus. Gambar 8.2 menunjukkan register.
Angka8.2
Z80X80
register
internal
Kami akan berkonsentrasi pada dua register teratas untuk saat ini.
Himpunan register utama dan set register alternatif adalah identik
kecuali untuk huruf ' yang kecil. Ini ' disebut 'prime' jadi D' akan
dibaca sebagai 'dee prime'. Perdana hanya ada untuk membedakan
antara dua set register.
Mengapa memiliki dua set? Memiliki dua set memungkinkan
pemrogram untuk menggunakan set register utama sementara register
utama dapat dimuat dengan informasi lain yang siap digunakan segera
bila diperlukan.
Bayangkan mikroprosesor sedang sibuk mengendalikan mesin cetak
ketika alarm kebakaran diaktifkan. Ketika sinyal alarm kebakaran
mencapai mikroprosesor, mikroprosesor segera meninggalkan program
pencetakan dan mulai menjalankan program 'Alarm Kebakaran' yang
memperingatkan petugas pemadam kebakaran, mengevaluasi gedung,
dll. Beberapa informasi untuk menjalankan program ini dapat disimpan
di perangkat cadangan dari register. Ketika program alarm telah selesai,
mikroprosesor dengan tenang beralih kembali ke set register utamanya,
dan melanjutkan pekerjaan pencetakannya sampai meleleh dalam api.
103
Pengenalan Mikroprosesor dan Mikrokontroler
Akumulator
Pemrogram dapat menggunakannya kapan saja untuk menyimpan angka
biner 8-bit. Itu juga dapat menyimpan angka untuk digunakan dalam
operasi aritmatika atau untuk operasi logika seperti AND, OR dll. Hasil
perhitungan tersebut dimasukkan kembali ke akumulator setelah selesai.
Karena hanya register 8-bit, register ini hanya dapat menampung satu
byte pada satu waktu sehingga data sebelumnya yang disimpan dalam
register ini akan ditimpa segera setelah data lainnya disimpan.
Pendaftaran bendera
Ini adalah register 8-bit tetapi tidak biasa karena setiap bit yang
disimpan cukup independen dari yang lain. Di semua register lain,
setiap bit hanyalah bagian dari nilai biner tunggal sehingga setiap bit
memiliki nilai numerik.
Register status atau register flag seperti jendela bagi kita untuk
melihat cara kerja mikroprosesor. Ini lebih seperti sistem komunikasi
sederhana. Misalnya, ini memungkinkan kita untuk mengatakan
kepada mikroprosesor, 'jika Anda melihat angka negatif selama
perhitungan Anda, beri tahu saya'.
Kita tidak perlu memperhatikan bendera, itu hanya indikator yang
mungkin kita perhatikan atau abaikan, seperti yang kita inginkan –
seperti termometer di dinding.
Setiap bendera diidentifikasidengan huruf dan ini ditunjukkan pada
Gambar 8.3. Anda akan melihat bahwa dua bit, 3 dan 5, ditandai
dengan X untuk menunjukkan bahwa mereka tidak digunakan. Bit-bit
ini dibiarkan cadangan untuk pengembangan selanjutnya (yang tidak
pernah terjadi).
Gambar 8.3
Daftar bendera
Z80180
105
Pengenalan Mikroprosesor dan Mikrokontroler
Tandabend
era (S)
Bendera S hanyalah salinan bit 7 akumulator. Angka negatif
memiliki 1 di bit 7 dan angka positif memiliki 0 di bit 7 sehingga
bendera ini menunjukkan tanda nomor tersebut. Anda mungkin
ingat bahwa angka besaran bertanda menggunakan 1 untuk
menunjukkan angka negatif dan 0 untuk menunjukkan angka
positif. Demikian juga angka negatif yang dinyatakan dalam
bentuk komplemen dua akan memiliki bit kiri sebagai 1. Angka
nol diperlakukan sebagai angka positif sehingga kita tidak dapat
menggunakan bendera S untuk melihat hasil nol. Kami melakukan
ini dengan menggunakan bendera 'nol' khusus seperti yang akan
kita lihat sebentar lagi.
Bendera nol
(Z)
Bendera Z menghabiskan seluruh waktunya untuk melihat hasil nol.
Anda mungkin ingat bahwa ketika kami melihat penggunaan gerbang
XOR, kami menggunakan gerbang ini untuk memeriksa nomor kode di
mesin ATM tunai. Ketika nilai yang dimasukkan dan nomor kartu sama,
maka uang tunai dapat ditarik. Apa yang sebenarnya terjadi adalah kedua
angka itu dibandingkan dan jika sama, maka hasilnya akan menjadi nol
dan bendera Z akan beraksi. Ini 'mengatur' atau berubah menjadi biner 1
jika melihat hasil nol dan tetap pada biner 0 di waktu lain.
Dua hal yang harus diwaspadai. Bendera Z hanya menuju ke satu status
jika semua bit dalam hasil terbaru adalah nol. Juga, berhati-hatilah
dengan jalannya: hasil 0 membuat flag Z = 1; hasil tidak nol, Z flag = 0.
Semua hasil ini akan memberikan nilai flag Z nol:
0100 0000
1111 1111
0000 0001
1001 1010
Hanya hasil dari 0000 0000 yang akan membuat flag Z menjadi biner 1.
Menambahkan/mengurangiflag(N)
Bendera N hanya ada di sana untuk memberi tahu kita apakah instruksi
aritmatika terakhir adalah 'tambah' atau 'kurangi'. N = 0 untuk
penjumlahan, N = 1 untuk pengurangan. Tidak terlalu menarik.
107
Pengenalan Mikroprosesor dan Mikrokontroler
01101001
11000011
00101100
11 1
Paritas/kelimpahanflag(P/V)
Ini digunakan untuk dua tujuan terpisah.
'V' dalam judul mengacu pada oVerflow dalam perhitungan
aritmatika. Beberapa kombinasi angka dapat disalahartikan dan
memberikan jawaban yang tampaknya salah, seperti yang akan kita
lihat nanti.
Ketika bendera melihat kemungkinan kesalahan, itu diatur, ketika tidak
ada kesalahan, itu dihapus.
Berikut adalah contoh di mana kita bisa melihat masalah.
Kami akan menambahkan dua angka positif +96 dan +66 sehingga
meskipun kami tidak dapat menebak hasilnya, setidaknya kami tahu
bahwa itu adalah angka positif.
0 1 1 0 0 0 0 0 = 96
0 1 0 0 0 0 1 0 = 66 +
1 0 1 0 0 0 1 0 = –34??
1
Dalam contoh ini, kami telah menambahkan dua angka yang dimulai
dengan nol dan oleh karena itu positif dan hasilnya dimulai dengan
satu, yang merupakan angka negatif sehingga bendera P/V akan
ditetapkan.
108
Sebuah tipikalMikroprosesor
8-bit
Cara mudah untuk memeriksa kemungkinan kesalahan adalah dengan
melihat carry ke bit 7 dan carry out bit 7.
109
Pengenalan Mikroprosesor dan Mikrokontroler
Aturannya adalah:
Membawa dan
melaksanakan atau = Tidak ada kesalahan jadi P/V flag =
Tidak ada barang masuk dan 0
tidak ada barang bawaan
111
Pengenalan Mikroprosesor dan Mikrokontroler
Gambar 8.4
Nomor
untukingat
Jika kita kemudian diberi beberapa nomor lagi, kemungkinan besar kita
akan menuliskannya, secara berurutan, di bawah yang pertama seperti
pada Gambar 8.5.
Gambar 8.5
Beberapa nomor lagi
112
Sebuah tipikalMikroprosesor
8-bit
Kita dapat membacanya kembali secara berurutan dengan membaca
yang paling bawah terlebih dahulu, kemudian yang berikutnya dan
terakhir yang paling atas. Yang pertama masuk adalah yang terakhir
keluar.
Mikroprosesor dapat melakukan hal serupa dengan menyimpan
informasi dalam serangkaian lokasi memori 16-bit yang disebut
'tumpukan'. Tumpukan dimuat secara berurutan dan kemudian
diturunkan mulai dari nomor terakhir yang disimpan dan bekerja kembali
ke atas tumpukan. Nomor pertama yang disimpan akan diambil terakhir
dan untuk alasan ini akan disebut metode 'masuk pertama, keluar
terakhir' atau FILO. Untuk kebingungan maksimum, ini juga bisa disebut
sistem LIFO yang, tentu saja, berarti persis sama. Pikirkan tentang hal
itu.
Di dalam mikroprosesor, serangkaian lokasi RAM dicadangkan untuk
digunakan sebagai tumpukan dan penghitung alamat harus digunakan
untuk melacak alamat tumpukan yang akan digunakan selanjutnya.
Penghitung ini disebut penunjuk tumpukan karena 'menunjuk ke' alamat
berikutnya yang akan digunakan.
Tumpukan umumnya digunakan oleh mikroprosesor untuk menyimpan
data pada basis yang sangat sementara. Kami diizinkan untuk
menggunakannya tetapi mikroprosesor mengambil prioritas dan tidak
tahu bahwa kami telah mengutak-atiknya. Sebagai contoh, jika
mikroprosesor telah menyimpan tiga bit data secara berurutan seperti
pada Gambar 8.6(a) dan kita meletakkan satu bagian data di akhir seperti
pada Gambar 8.6(b), sekarang akan ada data di empat lokasi. Namun,
mikroprosesor tidak akan menyadari hal ini. Ketika mikroprosesor ingin
mengambil datanya, mikroprosesor akan membongkar tiga byte dan
secara tidak sengaja mendapatkan yang salah seperti pada Gambar
8.6(c).
Gambar 8.6
Menggunakan tumpukan
113
Pengenalan Mikroprosesor dan Mikrokontroler
Moral dari cerita ini adalah tinggalkan tumpukan itu sendiri – atau
berhati-hatilah! Data teknis akan selalu memberi Anda informasi yang
cukup untuk dapat mengetahui apakah mikroprosesor akan
menggunakan tumpukan atau tidak, tetapi masih perlu banyak upaya
untuk memastikannya.
Daftar indeks
Kami memiliki dua register indeks, satu disebut X dan yang lainnya
disebut Y. Keduanya melakukan fungsi yang sama.
Indeks digunakan dalam situasi di mana kita ingin melakukan urutan
tugas serupa satu demi satu. Mungkin untuk menggunakan data yang
disimpan dalam serangkaian lokasi memori. Isi 16-bit register indeks
dapat ditambahkan ke isi program counter (PC) untuk menghasilkan
alamat baru.
Sebagai contoh, mari kita asumsikan bahwa kita sedang menjalankan
sebuah program yang setelah menggunakan alamat 2600H kita ingin
menggunakan beberapa data yang disimpan di alamat 3800H. Kita dapat
melakukan ini dengan memuat nomor 16-bit 1200H ke dalam register X
dan menginstruksikan mikroprosesor untuk pergi ke alamat yang ditulis
sebagai PC + IX (penghitung program dan indeks X). Dalam hal ini,
mikroprosesor menuju ke alamat 2600H + 1200H = 3800H untuk
mengambil data yang akan digunakan. Lompatan dari 2600H ke 3800H
ini disebut offset atau kita dapat mengatakan bahwa register indeks X
telah memberikan offset 1200H. Dalam contoh ini, register indeks Y
dapat digunakan dengan baik.
Register indeks sering digunakan untuk memasukkan data yang
sebelumnya dimasukkan ke dalam tabel atau dari bagian lain dari
memori. Pengguna program mungkin diminta untuk mengetikkan
angka. Nomor ini akan dimasukkan dalam RAM tetapi program yang
akan menggunakan data ini disimpan dalam ROM. Offset yang sesuai
di salah satu register indeks dapat menggeser alamat secara memadai
untuk membawanya ke area RAM dari peta memori.
Register ini juga digunakan dalam situasi dimana program mencari
respon dari pengguna. Layar mungkin menunjukkan:
PENCETAKAN
115
Pengenalan Mikroprosesor dan Mikrokontroler
penghitung
R(R)
Ini adalah pencacah sederhana di mana tujuh bit yang lebih rendah
digunakan untuk menghitung jumlah instruksi yang telah dilakukan oleh
mikroprosesor ketika sedang menjalankan program ini. Ini diatur ulang
ke nol setiap kali mikro dimulai ulang.
Gambar 8.7 menunjukkan bagian-bagian yang tersisa dari sebuah
mikroprosesor. Semua bagian ini berada di dalam satu blok bertanda
'mikroprosesor' (µP) pada Gambar
7.4. Ini termasuk semua fasilitas untuk menghubungkan perangkat ke
sirkuit eksternal dan beberapa hal penting lainnya.
Gambar 8.7
Z80180
mikroprosesor
Buffer data
Buffer data adalah register 8-bit untuk menyimpan informasi yang
disediakan oleh bus data eksternal. Setelah buffer menyimpan
informasi biner, buffer tri-state dapat mengunci informasi dengan
memutuskan sambungan bus data eksternal sehingga dapat digunakan
untuk membawa data lain. Proses ini disebut 'menempel'. Sebagai
aturan umum, semua input ke sebuah chip dari bus dikunci. Ini
karena bus membutuhkan waktu untuk mengatur voltase baru pada
116
Sebuah tipikalMikroprosesor
8-bit
salurannya dan perlu memulai pekerjaan ini sesegera mungkin.
117
Pengenalan Mikroprosesor dan Mikrokontroler
Gambar 8.8
Memperluasal
amat bus
118
Sebuah tipikalMikroprosesor
8-bit
Perangkat pemasangan permukaan tidak memiliki pin yang melewati
lubang di papan sirkuit tercetak tetapi memiliki konektor yang keluar
secara horizontal dan kemudian disolder ke permukaan papan.
Metode ini memungkinkan penghematan ruang yang signifikan.
Cata
tan
Jumlah pin yang lebih sedikit pada tata letak dil telah membatasi
jumlah pin alamat menjadi sembilan belas dan oleh karena itu
memori maksimum yang dapat diakses sekarang adalah 2 atau 512k
(benar-benar 524288 karena 'k' dalam hal ini diambil sebagai 1024
seperti yang kita temui dalam Bab 2).
Buffer alamat
Ini adalah buffer tri-state sama seperti buffer data kecuali mereka adalah
perangkat satu arah. Mikroprosesor mengirimkan alamat di sepanjang
bus alamat tetapi tidak ada informasi alamat yang bisa datang dengan
cara ini. Jika kita perlu mengirim alamat ke mikroprosesor maka kita
memuat informasi dan semua informasi apa pun itu masuk ke bus data
yang, seperti yang telah kita lihat, dapat mengirim data apa pun ke
sirkuit eksternal atau menerima data apa pun ke dalam mikroprosesor.
Pembuat jam
Seperti yang kita lihat di Bab 7, mikroprosesor membutuhkan sinyal
gelombang persegi untuk menjaga agar semua operasi internal tetap
berjalan. Jika tidak, semuanya akan berakhir kacau dengan data dan
instruksi yang bergerak pada waktu yang salah dan menjadi campur
aduk.
Dalam mikroprosesor khusus ini, kecepatan clock dapat diatur ke
nilai antara 6 MHz dan 33 MHz. Sinyal clock berasal dari kristal atau
sumber sinyal eksternal – tetapi tidak pernah pada waktu yang sama.
Menggunakan sinyal eksternal dapat berguna di mana mikroprosesor
digunakan sebagai bagian dari instalasi yang lebih besar dan ini akan
memungkinkan waktu mikroprosesor diatur oleh sirkuit sekitarnya.
Ada tiga hal bagus tentang peningkatanfrekuensi kristal: mereka
menjadi lebih kecil, lebih ringan dan lebih murah. Sirkuit jam
mencakup sirkuit bagi-dua untuk memungkinkan penggunaan kristal
frekuensi ganda dengan manfaat yang disebutkan di atas.
Interupsi
Anda mungkin ingat kisah kecil kami yang menyedihkan tentang sistem
berbasis mikroprosesor kami yang mengendalikan printer saat seluruh
119
Pengenalan Mikroprosesor dan Mikrokontroler
kantor terbakar. Itu menghentikan program utamanya dan pergi untuk
menelepon layanan pemadam kebakaran, memperingatkan staf
pemeliharaan, mengaktifkan alat penyiram, dll.
120
Sebuah tipikalMikroprosesor
8-bit
Api bukan satu-satunya bahaya yang bisa dilindungi oleh teman kecil
kita. Itu bisa memperingatkan hal-hal lain seperti kertas habis di
printer atau kerusakan data pada kabel telepon.
Sekarang, kami tidak ingin mengirim lebih banyak kertas untuk
menangani kemungkinan masalah dengan kabel telepon sehingga
mikroprosesor perlu diberi tahu apa masalahnya dan apa yang harus
dilakukan.
Program yang berbeda untuk masing-masing masalah ini disimpan
dalam sekelompok alamat dalam chip ROM. Sebagai contoh, kita dapat
memuat program di alamat ini:
Prioritas interupsi
Tidak semua masalah diperlakukan sama, oleh kami atau oleh
mikroprosesor. Kecil kemungkinan kita akan menemukan kalimat
seperti: 'Saya lupa memasukkan gula ke dalam kopi – saya akan pergi
dan mengambilnya – dan saya juga memperhatikan bahwa rumah
Anda terbakar'.
Seperti semua mikroprosesor lainnya, interupsi Z80180 sebagian
dihasilkan oleh sirkuit eksternal dan beberapa hasil dari sumber
internal. Yang eksternal biasanya dapat diblokir atau 'ditutupi'
sehingga kami dapat memberi tahu mikroprosesor untuk
mengabaikannya dan semua interupsi ditempatkan dalam urutan
prioritas sehingga beberapa interupsi diprioritaskan.
Dalam kasus Z80180, kode instruksi yang tidak dikenal diberikan
prioritas utama untuk mencegah operasi acak karena kerusakan
selama pemrograman atau transmisi. Ini disebut TRAP.
121
Pengenalan Mikroprosesor dan Mikrokontroler
Setelah ini muncul satu interupsi non-maskable atau NMI. Ini
digunakan untuk situasi kritis yang harus mengganggu program lain
yang sedang berjalan.
122
Sebuah tipikalMikroprosesor
8-bit
Kemudian mengikuti tiga tingkat interupsi eksternal tetapi dapat dicegah
(maskable). Jika kita tidak ingin program tersebut terputus, yang harus
kita lakukan adalah memasukkan kode 'jangan interupsi' ke dalam
perangkat lunak. Beberapa dokumentasi mengacu pada jenis interupsi ini
sebagai INT0, INT1, INT2, di mana gambar menunjukkan prioritas
sedangkan yang lain menggunakan IRQ untuk singkatan dari Interrupt
ReQuest.
Tujuh level yang tersisa mengacu pada interupsi internal yang dihasilkan
oleh register kontrol interupsi dan sirkuit internal mungkin perlu
menginterupsi program sejenak untuk melakukan beberapa tugas lain.
Akan ada sedikit lebih banyak tentang interupsi di Bab 17.
Penghematan energi
Daya yang dikonsumsi oleh mikroprosesor sebagian besar merupakan
hasil dari aktivitas internal sehingga semakin banyak kita
membuatnya, semakin banyak daya yang digunakannya. Mengubah
kecepatan clock dari 6 MHz ke 33 MHz hampir menggandakan
kebutuhan daya.
Kita dapat menambahkan instruksi 'tidur' ke program dan ini
memiliki efek menghentikan jam CPU dan bus data dan alamat
terputus. Untuk membangunkan CPU, kami menerapkan sinyal ke
salah satu input interupsi atau mengaktifkan rangkaian reset dengan
menahan tegangan pada pin reset rendah.
Kita juga dapat mematikan sirkuit input/output pada mikroprosesor
dengan memasukkannya ke mode 'system stop'.
Keluarga Z8X180 memiliki tiga anggota: Z80180, Z8S180 dan
Z8L180. Versi S beroperasi dengan catu daya 5 volt dan catu versi L
dikurangi menjadi 3,3 volt.
Efek pada konsumsi daya peralihan antara operasi normal dan mode
'sistem berhenti' ditunjukkan pada Tabel 8.1.
Tabel 8.1
Z80180 100 mW 25 mW
123
Pengenalan Mikroprosesor dan Mikrokontroler
Z8S180 90 mW 15 mW
Z8L180 60 mW 6 mW
124
Sebuah tipikalMikroprosesor
8-bit
perangkat ini mungkin ingin mengirim data di sepanjang bus sistem
dan pengontrol status bus memastikan bahwa kami tidak memiliki
banyak perangkat yang mencoba mengirim data di sepanjang koneksi
yang sama pada saat yang bersamaan.
Tunggumenyatakan
Untuk mempermudah pengiriman informasi ke perangkat eksternal yang
relatif lambat, mikroprosesor dapat menyisipkan 'status tunggu' yang
dapat memasukkan lebih banyak waktu ke waktu siklus busnya. Mereka
dapat diprogram oleh perangkat lunak yang digunakan atau secara
internal oleh generator keadaan tunggu.
126
Sebuah tipikalMikroprosesor
8-bit
Bagaimana sistem bekerja?
Pada awalnya
Setelah catu daya pertama kali dinyalakan, ada penundaan singkat
yang terpasang untuk memungkinkan voltase menetap dan jam
dimulai. Penundaan ini dihasilkan oleh rangkaian yang serupa dengan
yang ditunjukkan pada Gambar 8.9.
Gambar 8.9
ItuPADA/MATIberalihh
Gambar 8.10
Menghasilkan
pendektunda saat
dihidupkan
Kembali pada Gambar 6.22 kita melihat peta memori yang khas di
mana program start-up diadakan di ujung atas memori. Z80180 akan
membutuhkan peta yang sangat berbeda dan ini menunjukkan
ketidakcocokan lain antara mikroprosesor.
Instruksi pertama
Alamat startup dibaca oleh dekoder alamat.Dekoder kemudian
menerapkan sinyal pemilihan chip pada bus Kontrol. Sinyal ini
kemudian memilih chip ROM. Semua chip lain mengabaikan sinyal
karena belum dipilih. Alamat memasuki chip ROM dan dekoder baris
dan alamat mengakses sel memori. Isi sel itu diletakkan di bus data
untuk dibaca oleh mikroprosesor.
Bacaan kedua
Mikroprosesor mengirimkan alamat berikutnya ke bus alamat. Dekoder
alamat akan mengaktifkan chip ROM lagi. Chip ROM akan
memasukkan beberapa data lagi ke bus data, yang akan dibaca lagi oleh
mikroprosesor.
128
Sebuah tipikalMikroprosesor
8-bit
Nomor ini dipilih oleh perancang sistem – yaitu, orang yang
menggabungkan mikroprosesor ke dalam sistem mikro.
Lalu apa?
Alamat, C086H dalam contoh kita, mengakses chip ROM, yang
mengirimkan nomor biner kembali ke mikroprosesor di sepanjang
bus data. Di dalam mikroprosesor, angka ini ditafsirkan sebagai
instruksi. Membandingkan nomor masuk dengan daftar internal
kode kontrol internal akan menemukan persis apa instruksinya. Ini
semua dilakukan oleh program mikro.
Apa yang terjadi selanjutnya akan tergantung pada apa instruksi itu.
Meng
apa?
Mengapa itu instruksi? Karena mikroprosesor berkata demikian!
Mikroprosesor berasumsi bahwa bilangan biner pertama yang datang
mewakili sebuah instruksi sehingga jika kita ingin memberikan instruksi
ADD 25H maka kode biner artinya ADD akan masuk terlebih dahulu,
diikuti dengan data yang akan digunakan, dalam hal ini 25H.
Bagaimana jika kita membuat kesalahan dan memasukkan 25 terlebih
dahulu, diikuti dengan kode biner untuk ADD dalam program kita?
Mikroprosesor akan menafsirkan 25 sebagai instruksi – yang bisa
berarti apa saja, atau tidak sama sekali. Jika instruksi misteri ini
membutuhkan angka, itu akan menggunakan biner yang setara
dengan input ADD kami
– yang lagi-lagi bisa apa saja. Jika instruksi palsu tidak memerlukan
angka, maka instruksi ADD akan dibaca dengan benar sebagai instruksi
ADD tetapi kemudian akan mengambil input biner berikutnya yang
tersedia sebagai angka yang akan ditambahkan. Mikroprosesor kami
sekarang telah melakukan instruksi yang salah menggunakan data yang
salah dan program dapat melakukan hampir semua hal. Seluruh program
telah keluar dari langkah dan mungkin melakukan sesuatu yang sangat
tidak terduga. Tidak banyak kesenangan di pabrik dinamit kami.
Alamat yang digunakan setiap saat diketahui oleh mikroprosesor dengan
mengacu pada nilai saat ini di penghitung program, yang bertambah satu
setiap kali instruksi atau beberapa data digunakan.
Siklus pengambilan–eksekusi
Ini adalah urutan operasi oleh mikroprosesor dan merupakan penyebab
dari semua kebingungan di paragraf terakhir.
Mikroprosesor tidak menerapkan kecerdasan sama sekali. Ini mengikuti
pola yang ditunjukkan pada Gambar 8.1 terlepas dari apakah itu
129
Pengenalan Mikroprosesor dan Mikrokontroler
mengikuti program atau telah diberi makan dengan program dengan
kesalahan di dalamnya dan sekarang melakukan serangkaian instruksi
acak yang sama sekali tidak berguna.
130
Sebuah tipikalMikroprosesor
8-bit
Gambar 8.11
Ambil–
eksekusisiklus
Waktu kuis
8
Dalam setiap kasus, pilih opsi terbaik.
1 Tumpukan adalah:
(a) singkatan dari stack pointer.
(b) serangkaian lokasi RAM yang dapat digunakan oleh
mikroprosesor untuk menyimpan data.
(c) kumpulan program.
(d) sebuah cerobong asap.
2 Sebuah CPU:
(a) merupakan bagian penting dari setiap mikroprosesor.
(b) adalah singkatan dari unit pemrosesan komputer.
(c) dapat berisi lebih dari satu MPU.
(d) merupakan fungsi dari register.
131