Arsitektur Mikroprosesor 8085 [Lengkap]
Apa itu Mikroprosessor 8085?
Mikroprosesor 8085 menyertakan semua fitur chip 8224 sebagai pembangkit clock dan chip 8228 sebagai pengontrol sistem sehingga meningkatkan level penyatuan sistem. Mikroprosesor 8085 jika disatukan dengan chip RAM 8156 dan ROM/PROM 8355/8755 akan menjadikannya sebuah sistem yang lengkap. Mikroprosesor 8085 menggunakan bus data multipleks dan membutuhkan dukungan chip 825X-5. Alamat terbagi dua menjadi bus alamat 8-bit dan bus data 8-bit. Pengunci alamat dalam chip memori 8155/8355/8755 menjadikannya dapat langsung berhubungan dngan mikroprosesor 8085. Keluarga mikroprosesor 8085 juga dikenal sebagai MCS-85.
Mikroprosesor Intel 8085 merupakan mikroprosessor mikroprosessor kelanjutan dari mikroprosesor sebelumnya yang sangat sukses di pasaran, yaitu mikroprosesor Intel 8080A . Diberikan nama 8085 karena mikroprosesor ini merupakan mikroprosesor pertama Intel yang hanya memerlukan tegangan 5 volt . Mikroprosesor 8085 100% sesuai secara software dengan mikroprosesor 8080A dengan peningkatan kinerja sistem. Mikroprosesor 8085 awal dibuat berdasarkan teknologi NMOS dan kemudian versi “H” yang berdasarkan pada teknologi HMOS.
Arsitektur Mikroprosessor 8085
Mikroprosessor 8085 mempunyai 10 buah register yang dapat diisi oleh programmer secara langsung, dimana 6 buah register ini dapat disusun membentuk 6 buah register 8 bit atau 3 buah register 16-bit. 4 Register yang lain adalah merupakan register khusus yang disusun secara terpisah.
Diagram blok dari Arsitektur dalam dari Mikroprosessor 8085
1. Saluran Data, Alamat dan Kendali
Saluran Data terdiri dari 8-bit dimana saluran ini dibedakan atas saluran internal yaitu saluran yang terdapat didalam CPU dan saluran eksternal yang dihubungkan ke serpih-serpih pendukung lainnya seperti memori, peralatan I/O, dan sebagainya. Saluran ini berfungsi untuk mentrasfer data baik yang dikeluarkan maupun yang masuk ke Mikroprosesor (bi-direktional).
Saluran-saluran kendali eksternal yang terdiri dari RD, WR, ALE, SO, SI, IO/M , HLDA, Reset In, Reset Out. Saluran-saluran ini masing-masing satu jalur, yang berfungsi untuk mengendalikan peralatan memori, input-output dan juga merupakan saluran untuk mengendalikan kerja Mikroprosesor.
Saluran alamat terdiri dari 16-bit yang dibagi atas dua bagian yaitu AD0-AD7 yang merupakan saluran alamat byte rendah dan sekaligus saluran data, serta A8-A15 yang merupakan saluran alamat byte tinggi. Alamat rendah dimultipleksagar dapat berfungsi sebagai saluran alamat dan juga saluran data dimana keadaan ini dikendalikan oleh ALE. Saluran alamat terdiri dari 16-bit sehingga jangkauan alamat memori adalah sebesar 216 atau 65.536 lokasi alamat. Saluran data terdiri dari 8-bit, yang bearti CPU menerima, mengirim dan mengolah data sebanyak 8-bit secara serentak.
2. Pengendali dan Pewaktu (Timing and Control Unit)
Unit ini terdiri dari sebuah osilator dan sebuah pengendali pengurut. Osilator menghasilkan sinyal detak (clock) yang berfungsi untuk men-sinkronkan kerja CPU dengan register atau memori. Unit ini juga menghasilkan clokc untuk perangkat pendukung yaitu Clokc Out.
Pengendali–pengurut juga menghasilkan sinyal kendali yang diperlukan untuk pengendali internal maupun eksternal. Operasi pengedali-pengurut ini diatur oleh program-mikro yang terdapat dalam sebuah ROM/EPROM. ROM ini berisikan semua program-mikro yang diperlukan dalam eksekusi instruksi. Selama instruksi-mikro dibaca dari ROM kendali, sinyal-sinyal kendali disalurkan kepada bus-bus data internal dan eksternal. Efek yang ditimbulkannya adalah memindahkan data antar register, melaksanakan operasi aritmatik-logik, memasukkan atau mengeluarkan data dan sebagainya tergantung instruksi yang diberikan.
3. Unit Operasi Aritmatik dan Logika (ALU)
Sebagai operasi aritmatik dan logika dilakukan di dalam ALU. Operasi-operasi yang dapat dilakukan ALU adalah:
- Penjumlahan (Add), Penambahan satu (Increment)
- Pengurangan (Subtract), Pengurangan satu (Decrement)
- Logika OR, EX-OR, AND, dan NOT (Complement)
- Perbandingan (Compare)
- Pergeseran ke kiri atau ke kanan satu bit (Shift)
- Berputar ke kiri atau ke kanan (Rotate).
4. Register Mikroprosessor 8085.
Seperti yang telah disebutkan sebelumnya, Mikroprosessor 8085 mempunyai 10 buah register dimana register-register ini dibagi atas dua kelompok, yaitu :
- General Purpose Register (Register Serba Guna)
- Special Purpose Register (Register Khusus).
a. Register Serba Guna ( General Purpose Register )
Dikatakan serba guna kerena pemakaian register ini bersifat umum. Susunan dari register-register ini seperti sebuah RAM kecil (8-bit atau 16-bit) di dalam CPU. Register ini dapat digunakan sebagai tempat penyalinan data sementara atau sebagai tempat penyimpanan hasil operasi mikroprosesor. Register serba guna ini terdiri dari 6 buah register 8-bit yang disebut dengan register B, C, D, E, H, dan L. Untuk pengoperasian 16-bit register ini dapat berpasangan menjadi pasangan register BC, DE, HL.
b. Register Khusus (Special Purpose Register)
Dikatakan khusus karena fungsinya secara khusus. Register khusus ini terdiri atas 4 bagian yaitu :
Akumulator, Register Bendera, Program Counter (PC), Stack Pointer (SP).
- Akumulator (Accumulator)
Akumulator disebut juga dengan Register A yang merupakan register yang amat penting, kerena register ini berfungsi sebagai tempat penyimpanan hasil setiap operasi aritmatik-logik dan juga sebagai tempat masukan untuk ALU. Data bus internal yang dihubungkan ke ACC ini merupakan dua arah (bidirectional) yang bearti akumulator ini berpasangan dengan register Bendera (Flag).
- Register Bendera (Flag Register, F)
Register Bendera berfungsi sebagai indikator atau menyatakan keadaan dari hasil operasi ALU. Register ini terdiri dari 8-bit tetapi hanya 5-bit yang dipakai yaitu: Zero (Z), Sign (S), Parity (P), Carry (Cy) dan Auxilary Carry (AC).
- Program Counter (PC)
Pengeksekusian suatu program adalah pelaksanaan instruksi demi instruksi, dimana instruksi ini telah terlebih dahulu disimpan di dalam memori. Jadi untuk melaksanakan instruksi tersebut dibutuhkan suatu alamat yang menunjukkan lokasi penyimpanan instruksi tersebut di dalam memori. Alamat lokasi memori yang akan dituju ini diambil dari program counter. Program Counter ini merupakan register 16-bit, dengan demikian jangkauan alamatnya adalah 216 = 64 kByte.
- Stack Pointer
Stack merupakan bagian dari memori yang dialokasikan untuk menyimpan data dan alamat, misalnya saat instruksi PUSH atau CALL. Alamat awal dari stack ini ditandai oleh Stack Pointer. Stack dapat diakses dengan menggunakan program. Penumpukan data pada Stack ini mempunyai sifat LIFO (Last In – First Out). Pemindahan data dari register CPU ke Stack dapat dilaksanakan dengan instruksi PUSH dan yang sebaliknya adalah POP. Stack Pointer (SP) merupakan register 16-bit dengan demikian jangkauan alamat adalah sebesar 216 = 64 kByte.
5. Pengendalian Interupsi (Interrupt Control)
Mikroprosessor 8085 mempunyai 5 (lima) masukan untuk permintaan interupsi hardware yaitu : TRAP, RST, 7.5, RST 6.5, RST 5.5 dan INTR, dimana setiap interupsi ini mempunyai peringkat prioritas. Jika ada sinyal interupsi maka CPU akan mengeluarkan sinyal INTAL yang merupakan pemberitahuan bahwa interupsi tersebut dikenali dan kemudian CPU akan mengerjakan program dimana alamatnya sesuai dengan alamat vektor interupsi tersebut. Semua pengendali interupsi hardware dilaksanakan oleh unit kendali interupsi ini.
Interupsi TRAP merupakan interupsi Non-maskabel yaitu interupsi yang tidak dapat dihalangi sedangkan interupsi RST 7.5, RST 6.5, RST 5.5 merupakan interupsi maskabel yaitu interupsi yang dapat dihalangi.
6. Konfigurasi Penyemat Mikroprosessor 8085
Mikroprosessor 8085 dibuat dalam bentuk kemasan DIP (Dual-Inline Package) dengan 40 penyemat (Pin). Beberapa istilah yang berhubungan dengan konfigurasi penyemat ini adalah :
- Aktip Rendah, Aktip Tinggi:
Suatu penyemet disebut aktip rendah (Low) jika untuk mengaktipkan penyemat ini diperlukan logika 0, dan sebaliknya jika yang diperlukan adalah logika 1 maka penyemat ini disebut aktip tinggi (High). Aktip rendah ditandai dengan garis stirp atas.
- Input (masukan): suatu penyemat disebut sebagai input bila penyemat ini hanya berfungsi untuk menyalurkan data kedalam CPU.
- Output (keluaran) : Disebut sebagai output bila penyemat berfungsi hanya untuk mengeluarkan data keluar dari CPU.
- Input / Output (masukan / keluaran) : Dimana input / output bila penyemat tersebut berfungsi menyalurkan data ke dan dari dalam CPU.
- Tri-state (3-keadaan).
Ketiga keadaan ini adalah logik 0,1,dan keadan mengembang (floating) atau impedasi tinggi.
7. Diagram Waktu Kerja.
Dalam melaksanakan instruksinya setiap Mikroprosesor memerlukan suatu sinyal clock, damana besarnya frekuensi ini akan mempengaruhi kecepatan pelaksanaan dari suatu instruksi. Mikroprosesor 8085 A mempunyai range periode clock dari 320 ns hingga 2000 ns, dengan demikian CPU 8085 hanya memerlukan waktu sebesar 1,28 HS untuk melaksanakan instruksi ADD B(ADD B memerlukan 4T) jika periode T 320 ns.
Pelaksanaan suatu instruksi diatur oleh periode clock yang disebut dengan STATE (keadaan T) yang merupakan tahapan pelaksanaan instruksi. Urutan dari tahapan ini disebut dengan siklus mesin (M) yang masing-masing terdiri dari 3 keadaan t kecuali siklus 1 (M1) yang terdiri dari 4T hingga 6T (tahapan). Satu instruksi membutuhkan 1 hingga 5 siklus mesin, dimana kelima siklus ini disebut dengan nama M1, M2, M3, M4 dan M%