Arsitektur Mikroprocessor




A.   Arsitektur Mikroprocessor
Arsitektur mikroprosesor biasanya berkaitan dengan bangunan, rancangan atau desain sebuah mikroprosesor. Desain sebuah mikroprosesor dengan ciri-ciri pokok yang sering disebut dengan features sebuah mikroprosesor dapat dipelajari dengan baik melalui Internal Software - Hardware DesignPemahaman dan pengkajian mendalam terhadap rancangan software dan hardware yang disebut juga dengan istilah arsitektur akan sangat membantu dalam pemrograman mikroprosesor.

Arsitektur sebuah mikroprosesor menunjukkan rancangan tentang perangkat lunak dan perangkat keras yang terpadu menjadi satu. Rancangan perangkat lunak dan perangkat keras sebuah mikroprosesor dikembangkan secara simultan sebelum sebuah mikroprosesor diproduksi. Arsitektur perangkat lunak mikroprosesor disebut juga dengan set instruksi. Setiap mikroprosesor memiliki set instruksi tersendiri yang terdiri dari sejumlah instruksi yang dapat bekerja di dalam perangkat keras mikroprosesor.
Internal software design berkaitan dengan bentuk atau rancangan set instruksi (instruction set) yang digunakan. Set instruksi sebuah mrikroprosesor dibangun dan dikembangkan bersamaan dengan pengembangan rancangan perangkat keras mikroprosesornya. Setiap perintah dalam set instruksi harus bekerja pada saat proses decoding yang dilakukan oleh perangkat keras mikroprosesor. Disebut internal software karena set instruksi berkaitan langsung dengan perangkat keras yang ada di dalam mikroprosesor. Setiap perintah dalam set instruksi dikodekan dalam heksa desimal.
Pemahaman yang baik terhadap arsitektur mikroprosesor sangat membantu kemampuan pengembangan program sistem mikroprosesor. Arsitektur mikroprosesor berkaitan dengan rancangan software dan hardware internal sebuah mikroprosesor.

B.   Internal Software Design
Ada tiga model arsitektur mikroprosesor dilihat dari perangkat lunak dalam bentuk set instruksi sebagai software design yaitu:
1)    Complex Instruction Set Computer (CISC) 
2)    Reduce Instruction Set Computer (RISC) 
3)    Mikroprosesor Superskalar

1.    Complex Instruction Set Computer (CISC)
Pada mulanya dalam industri komputer, pemrograman dilakukan menggunakan bahasa assembly atau kode-kode bahasa mesin. Pemrograman semacam ini sangat powerfuldan mudah menggunakan instruksi. Perancang CPU mencoba membuat instruksi yang dapat melakukan berbagai perintah kerja. CISC adalah jenis arsitektur mikroprosesor yang menggunakan banyak jenis dan ragam instruksi. CISC menyediakan kemampuan setiap instruksi dapat mengeksekusi operasi low-level, seperti men-load data dari memori, operasi aritmetika, dan melakukan prosedur penyimpanan ke memori. Mikroprosesor jenis ini memiliki kemampuan eksekusi cepat. Contoh mikroprosesor dengan arsitektur CISC adalah Intel 8088, 8085, 8086, Zilog Z-80 CPU, NS 32016, MC6800. Karena jumlah instruksi lebih banyak jenis dan ragamnya maka kelemahan CISC terletak pada sulitnya mengembangkan interpreter dan kompiler.

   2.Reduce Instruction Set Computer (RISC)
RISC merupakan arsitektur instruction set yang menekankan kepada kesederhanaan instruksi “bekerja sedikit” tetapi tetap memberikan hasil performansi yang tinggi. Hal ini bisa terjadi karena proses eksekusi instruksinya sangat cepat. Arsitektur ini lebih baru dibandingkan dengan arsitektur CISC. Arsitektur RISC memiliki sedikit instruksi banyak register. Contoh mikroprosesor dengan artsitektur RISC adalah AMD 2900, MIPS R2000, SUN SPARC, MC 8800, ATMET 90S1200, 90S2313, 90S2323, 90S2343, 90S4434, 90S8515.
Ciri-ciri RISC :
·         Instruksi bersifat tunggal
·         Ukuran instruksi umumnya 4 byte
·         Jumlah mode pengalamatan (Addresing mode) lebih sedikit dibawah lima,
·         Tidak ada mode pengalamatan tidak langsung (inderect addresing mode),
·         Tidak ada operasi yang menggabungkan operasi Load /Store dengan operasi aritmetika,
·         Setiap instruksi dalam satu lokasi memori memiliki lebih dari satu operand.
·         Tidak mendukung sembarang peralatan
·         Satu instruksi satu alamat data,
·         Minimal 32 register interger dapat dirujuk secara eksplisit,
·         Minimal 16 register floating point direferensikan secara eksplisit.

3.    Mikroprosesor Superskalar
Mikroprosesor dengan arsitektur superskalar adalah mikroprosesor yang menggunakan instruksi-instruksi biasa (aritmetika, floating point, store, branch) tetapi bisa diinisialisasi secara simultan dan dapat dieksekusi secara independen. Contoh mikroprosesor dengan arsitektur superskalar antara lain: IBM RS 6000, Pentium (CISC dengan konsep superskalar).

C.   Internal Hardware Design
Internal hardware design berkaitan dengan masalah-masalah jenis, jumlah, dan ukuran register serta komponen lainnya. Untuk dapat menginstalasikan sebuah mikroprosesor dengan komponen lainnya seperti RWM, ROM, dan I/O sebagai komponen utama dan rangkaian Clock, Reset, Buffer, dan lain-lain sebagai komponen pendukung, diperlukan pemahaman sistem bus yang dimiliki oleh setiap mikroprosesor.
Ada tiga jenis arsitektur mikroprosesor berdasarkan internal hardware design yaitu:
a)    Arsitektur I/O terisolasi
b)    Arsitektur I/O terpetakan dalam Memori
c)    Arsitektur Harvard

1.    Arsitektur I/O Terisolasi
Mikroprosesor dengan arsitektur I/O terisolasi menggunakan disain pengalamatan atau pemetaan I/O terpisah atau terisolasi dengan pengalamatan atau pemetaan memori. Pengalamatan I/O menggunakan sebagian dari jumlah saluran alamat (address bus) sedangkan pengalamatan memori menggunakan semua saluran alamat (address bus). Ini merupakan ciri pokok dari mikroprosesor dengan arsitektur I/O terisolasi. Ada pengendalian yang terpisah dan bergantian.
Pada saat mikroprosesor mengakses memori maka I/O harus off. Sebaliknya pada saat mikroprosesor mengakses I/O memori harus off.



Untuk memudahkan memahami kita gunakan kasus sebuah mikroprosesor dengan arsitektur I/O terisolasi memiliki saluran alamat 16 bit. Jumlah lokasi memori maksimum yang dapat dialamati oleh mikroprosesor ini adalah 216 atau 64 Kilo byte dan jumlah lokasi I/O yang dapat dialamati adalah 28 yaitu sama dengan 256 byte. Jadi pengalamatan memori menggunakan seluruh saluran alamat dalam hal ini 16 bit sedangkan pengalaman I/O menggunakan sebagian saluran alamat dalam hal ini 8 bit.
Jenis arsitektur I/O terisolasi menyediakan akses memori dan I/O secara terpisah. Artinya pada saat mengakses memori, perangkat I/O harus off. Sebaliknya pada saat mengakses I/O bagian memori harus off. Model arsitektur I/O terisolasi terlihat jelas peta selsel memori terpisah atau terisolasi dengan peta sel-sel I/O. Untuk mikroprosesor dengan bus alamat 16 bit yakni dari A0 sampai dengan A15 sel memori berada pada alamat 0000H sampai dengan FFFFH. Sedangkan sel I/O berada pada alamat terpisah diantara 00H sampai dengan FFH.
Metoda I/O terisolasi menggunakan akumulator pada CPU untuk menerima data dari I/O atau mengeluarkan data ke bus I/O selama operasi input output. Tidak ada register lain selain akumulator yang terpakai untuk akses I/O. Dengan demikian arsitektur I/O terisolasi disebut juga dengan I/O akumulator. 
Konsep arsitektur I/O terisolasi memiliki pengaruh penting pada program komputer yaitu :

·            Instruksi yang digunakan untuk mengakses I/O hanya dua kode operasi yaitu IN dan OUT.

·            Informasi/data yang ada pada akumulator harus dialihkan pada suatu lokasi penyimpanan sementara sebelum ada operasi I/O berikutnya.

·            Perlu ada tambahan instruksi pada program pengalihan data/informasi pada akumulator.
 


*      Keuntungan metoda I/O terisolasi :
·         Komputer dapat mengalihkan informasi/data ke atau dari CPU tanpa menggunakan memori. Alamat atau lokasi memori sepenuhnya digunakan untuk operasi memori bukan untuk operasi I/O.
·         Lokasi memori tidak terkurangi oleh selsel I/O
·         Instruksi I/O lebih pendek sehingga dapat dengan mudah dibedakan dari instruksi memori.
·         Pengalamatan I/O menjadi lebih pendek dan perangkat keras untuk pengkodean alamat lebih sederhana.
Sedangkan kerugian arsitektur I/O terisolasi lebih banyak menggunakan saluran pin pengendalian pada bus kendali dari mikroprosesornya. Mikroprosesor buatan perusahaan Intel dan mikroprosesor buatan Zilog menggunakan arsitektur I/O terisolasi.

2.    Arsitektur I/O Terpetakan dalam Memori
Mikroprosesor dengan arsitektur I/O terpetakan dalam memori menyatukan sel-sel I/O dalam pengalamatan bersama dengan sel-sel memori. Mikroprosesor dengan arsitektur I/O terpetakan dalam memori dapat diilustrasi nampak bahwa sel-sel I/O menjadi satu dengan sel-sel memori. Arsitektur I/O terpetakan dalam memori menunjukkan penggunaan instruksi tipe memori untuk mengakses alat-alat I/O. I/O yang dipetakan dalam memori memungkinkan CPU menggunakan instruksi yang sama untuk alih data ke memori seperti yang digunakan untuk alih data ke I/O

.
Sebuah pintu I/O diperlakukan seperti sebuah lokasi memori. Keuntungan system ini adalah instruksi yang dipakai untuk pembacaan dan penulisan memori dapat digunakan untuk memasukkan dan mengeluarkan data pada I/O.
Kerugiannya pertama tiap satu pintu I/O mengurangi satu lokasi memori yang tersedia. Kedua alamat lokasi I/O memerlukan 16 bit saluran. Ketiga instruksi I/O yang dipetakan dalam memori lebih lama dari instruksi I/O terisolasi. Gambar 2.2 menunjukkan bentuk pengendalian I/O terpetakan dalam Memori.
1.    Arsitektur Harvard
Arsitektur Harvard menggunakan disain yang hampir sama dengan arsitektur I/O terisolasi. Perbedaannya pada arsitektur Harvard antara memori program dan memori data dipisahkan atau diisolasi. Pemisahan antara memori program dan memori data menggunakan perintah akses memori yang berbeda.

Arsitektur Harvard ditinjau dari kemampuan jumlah memori lebih menguntungkan. Terpisahnya memori program dengan memori data menyebabkan arsitektur Harvard berkemampuan memori dua kali lipat kemampuan memori arsitektur I/O terisolasi.

Studi Kasus Arsitektur Mikroprosesor
Selanjutnya untuk mempelajari lebih mendalam arsitektur sebuah mikroprosesor secara nyata digunakan mikroprosesor Z-80 CPU sebagai studi kasus. Untuk kasuskasus mikroprosesor jenis lainnya dapat dengan mudah dipahami karena merupakan replika yang struktur konsepnya hampir sama.


Kasus pada Zilog Z-80 CPU
Mikroprosesor Zilog Z-80 CPU adalah mikroprosesor 8 bit buatan Zilog dengan gambaran kemampuan sebagai berikut :
ü  Mikroprosesor 8 bit dengan arsitektur I/O terisolasi.

ü  Bus alamat 16 bit dan bus data 8 bit dengan kemampuan:

§       Pengalamatan memori 64 Kilo byte.

§       Pengalamatan I/O 256 byte.

ü  CISC dengan 148 instruksi.

ü  8 buah register 8 bit sebagai register utama.

ü  8 buah register 8 bit sebagai register alternatif.

ü  4 buah register 16 bit.

ü   2 buah register 8 bit fungsi khusus.

ü   Frekuensi Clock 2,5 MHz - 4 Mhz

ü   Komsumsi daya: Aktif 150 mA

ü  Kemasan plastic dual inline package (PDIP)

Mikroprosesor Z-80 CPU merupakan mikroprosesor 8 bit yang sangat andal dan populer digunakan pada zamannya. Komputer Apple II dan IBM pertamakali menggunakan mikroprosesor Z-80 CPU. Dengan 40 pin mikroprosesor Z-80 CPU susunan kaki dan fungsi masing-masing pin dapat digambarkan seperti Gambar dibawah ,terlihat ada lima kelompok pin saluran yaitu: kelompok kendali sistem, kendali CPU, kendali bus, saluran data, dan saluran alamat.

Kendali CPU menjalankan fungsi-fungsi sebagai berikut :
v  M1* (Machine Cycle One= satu siklus mesin): merupakan pin keluaran aktif rendah jika CPU sedang mengambil sandi operasi instruksi dari memori. Pada saat ini bus alamat berisi alamat memori seperti data yang ada pada register PC, dan data bus mengarah masuk.
v  MREQ* (Memory Request = permintaan memori): merupakan pin keluaran aktif rendah pada waktu saluran alamat A0 s/d A15 berisi alamat memori.
v  IORQ* (Input Output Request= permintaan Input Output): pin keluaran aktif rendah pada waktu saluran alamat A0 s/d A7 berisi alamat I/O.
v  RD* (Read= Baca): pin keluaran aktif rendah pada waktu CPU melakukan operasi baca/memasukkan data.
v  WR*(Write = Tulis) Keluaran aktif rendah pada waktu CPU melakukan operasi tulis/mengeluarkan data.
v  RFSH* (Refresh = penyegaran): pin keluaran aktif rendah jika CPU mengeluarkan alamat memori untuk menyegarkan memori dinamik.
v  HALT*: pin keluaran aktif rendah pada saat CPU melaksanakan instruksi halt/berhenti.
v  WAIT*: adalah pin masukan dibuat aktif rendah oleh alat luar yang menyela kerja CPU.
v  INT* (Interrupt = interupsi): pin masukan aktif rendah jika ada luar yang meminta layanan interupsi.
v  NMI* (Non Mascable Interrupt/ interupsi yang tidak bisa dihalangi): masukan aktif rendah jika ada selaan yang yang tak dapat dihalangi.
v  RESET*: masukan dibuat aktif rendah oleh alat luar untuk membuat CPU ada dalam keadaan awal.
v   BUSRQ* (Buss Request = permintaan bus): sinyal masukan yang dibuat aktif rendah jika ada alat luar yang meminjam bus sistem.
v  BUSAK* (Bus Akcnowledge): keluaran aktif rendah yang menandakana CPU mengijinkan peminjaman bus sistem. Catatan : tanda * berarti aktif Low= 0

Previous
Next Post »
Thanks for your comment