Senin, 22 Oktober 2012

Arsitektur micro prosesor Z80 ( Zilog 80 )







Bab I
Pendahuluan

I.1. Latar Belakang

Dewasa ini computer sudah menjadi kebutuhan bagi banyak orangterutama bagi kalangan mahasiswa dan professional. Perkembangan computersebenarnya tidak seimbang antara ketiga elemen dasar computer yaitu CPU atauprosesor, memory, dan I/O modul. I/O modul adalah elemen yang paling lambatdalam perkembangannnya karena para pengembangnya yang juga sedikit.Sedangkan memori tidak mengalami perkembangan sepesat perkembangan dariCPU (prosesor) sendiri.
Memori yang ada di pasaran pada saat ini yang paling banyak adalahDDR2 yang merupakan penyempurnaan dari RAM. Kecepatan dari memoriDDR2 masih kalah dengan kecepatan dari CPU. Perbandingannya bahkan bisamencapai sepuluh kali lipat. CPU bisa beroperasi pada orde gigahertz sementaramemori hanya mampu beroperasi pada orde megahertz. Perkembangan memorimemang lambat, hal ini disebabkan mahalnya komponen-komponen padamemori. Selain itu para pengembang cenderung untuk lebih mengembangkan danbereksplorasi pada CPU. Saat makalh ini ditulis, di pasaran sudah ada prosesordengan kecepatan yang sangat tinggi yaitu prosesor core 2 quad yang merupakanproduksi dari perusahaan Intel.
Prosesor ini memiliki kelebihan dalam hal kecepatan bekerja jikadibandingkan dengan prosesor sebelumnya. Selain itu, prosesor ini juga lebihhemat dalam konsumsi daya sehingga jika diterpkan pada notebook bisamenghemat baterei sehingga umur pemakaian notebook lebih lama. Di sampingitu, prosesor ini juga tidak cepat panas sehingga bisa digunakan untuk bekerjaekstra time.
Aplikasi dari computer kebanyakan adalah dalam hal grafis dan database.Semakin bagus prosesornya maka akan semakin baik pula kinerja dari computer kita sehingga dapat menghemat waktu dalam pengerjaan tugas – tugas dan pekerjaan kita dengan bantuan multitasking.







Bab II
Pembahasan

A.Arsitektur CPU Z80

CPU Z80 pertama kali dibuat oleh Zilog Corporation sekitar tahun 1975-1976. Karena sifat-sifat kerja dan kemudahan perancangan systemnya Z80 inimenjadi sangat popular. Sudah banyak perangkat lunak maupun perankat kerasyang telah dibuat dengan mencermin dari Zilog-80. Z80 diterima tidak hanyadikalangan pendidikan, tetapi juga dunia industri. Banyak peralatan control diindustri yang berbasis mikroprosesor diketahui menggunakan CPU Z80.Arsitektur CPU Z80 didesain dengan mengaplikasikan metode standart bus,yaitu mengelompokkan jalur-jalur dalam tiga macam bus : address bus yang berfungsi sebagai output yangdapat memiliki 3 kondisi (high, low, dan tri-state),data bus yang berfungsi sebagai input maupun output dan juga memiliki 3kondisi (high, low, dan tri-state) dan control bus. Arsitektur dasarnya mengikutiarsitektur CPU Intel 8085 pula. Oleh karena itu, kode mesin Z80 dan 8080memiliki kemiripan. Bial 8080 memiliki 78 instruksi, Z80 memiliki 158.

Tipe Z80 merupakan tipe awal yang memiliki kemampuan kerja yanghanya 2MHz, kemudian memperbaharui tipenya denagn Z80A yang memilikikinerja sampai 4 MHz.Pada pertengahan tahun 1980, Z80 telah dikembangkandengan menggunakan teknologi CMOS bertipe Z84C00. Tipe ini produksiterakhir yang mampu bekerja dengan frekuensi hingga 16 MHz.Z80 bekerja pada tegangan tunggal +5V. Ia memiliki internal register sebanyak 208 bit, termasuk diantaranya 6 buah general-purpose register yangdapat digunakan terpisah (tiap 8-bit) ataupun yang digunakan untuk melipatgandakan accumulatore atau general-purpose register yang lain. Fasilitasexchange ini dapat digunakan unutk menunjukkan fungsi respon interrupt yangcepat. Z80 juga memiliki sebuah register stack pointer, program counter, dua buah index register, sebuah Refresh Register dan sebuah interrupt Register.

Register - register CPU Z80
CPU Z80 memiliki Read/Write memory yang disebut register sebanyak 208 bit atau (26x8) bit. Memori dari dalam CPU ini sangat berguna bagi para programmer dalam pembuatan suatu program.
a)Accumulator (A) dan Flag Register (F)Z80 memiliki dua buah memori register bebas dengan nama khusus yaituaccumulator dan flag register, masing-masing terdiri dari 8-bit.Accumulator (A) adalah register yang memiliki kemapuan khusus dalam opersi aritmatika dan logika. Bial dilihat dari instruksi-instruksi dariassembly Language Z80 maka operasi-operasi aritmatika dan logikaselalu melibtkan accumulator A. Bial dibandingkan dengan register-register yang lain maka accumulator ini paling sering digunakan oleh programmer. Flag registrasi digunakan untuk menunjukkan kondisikhusus pada operasi-operasi data 8-bit maupun 16-bit di accumulator Amenghasilkan nol (zero) atau tidak. Accumulator dan flag register merupakan pasangan register yang sering diguanakan bersama untuk operasi aritmatikadan logika.


b)General Purpose RegistersZ80 memiliki register-register yang dapat sewaktu-waktu dipakai untuk menyimpan memori di dalam program, sehingga regiater-regiser Z80serba guna (General Purpose Register). Register-reregister tersebutadalah B, C, D, E, H dan L yang masing-masing memiliki register komplemen tertentu. Tiap register memiliki struktur 8-bit. Biladiperlukan register 16-bit maka dapat disusun sebagai register-register BC, DE dan HL. Komplemennya adadlah BC’, DE’ dan HL’.

c)Special Purpose RegistersProgram Counter (PC) bertugas ‘memegang’ 16-bit alamat setiap saatketika CPU sedang melakujan proses fetch data dari memori. PC secarar otomatis akan bertambah dengan 1 bila sebuah proses fetch data telahselesai. PC juga akan berubah bial program melakukan jump ke lokasitertentu. PC akan mengikuti alamat dimana proses jump menuju.Stack Pointer (SP) bertugas memegang 16-bit alamat paling ats darimemori external (system RAM) pada setiap saat ketika program sedang berjalan. External Stack memori ini tersusun sengan sisem LIFO (Last-In-First-Out). Data di-push up dari suatu register CPU ke stack atau di- pop dari stack ke suatu register.Dua Index Register (IX & IY) bertugas memegang sebuah 16-bit alamatayang digunakan dalam indexed addressing modes dalam pemrograman.Dalam hal ini isi index Register digunakan sebagai titik dasar hubunganCPU ke suatu region memori tertentu dimana data disimpan atau diambil.Interrrupt Page Address Register (I). Z80 dapat dioperasikan dalam modetertentu dimana suatu hubungan tak langsung ke memori dapat dicapaidengan memberikan suatu respons interrupt. Pada operasi ini register Idipakai unutk menyimpan high order 8-bit dari alamat yang akan dituju,sedangkan low order 8-bit akan diberikan oleh peranti yang melakukan interrupt itu. Dengan keunggulan itu, sub rutin interrupt dapatditempatkan dimana saja sesuai dengan bentuk program yang diinginkandengan waktu yang seminimal mungkin.Memory Rfresh Register (R) pada Z80 memiliki sebuah memori refreshcounter sehingga memungkinkan bagi Z80 untuk dirangkai dengandynamic memory bersama-sama dengan static memory.

            d)Aritmatic and Logic Unit (ALU)Assembly Language Z80 memiliki fasilitas-fasilitas untuk megnolah datadalam opersi aritmatika dan logika. Operasi-operasi ini dilakukan dalamALU (Arithmatic & Logic Unit ), yaitu suatu bagian rangkaian di dalamCPU yang bertugas khusus mengolah data dalam opersi arimatika danlogika. Setiap instruksi opersi aritmatika dan logika diberikan pada CPUmaka ALU ini akan aktif untuk mengolah datanya. Operasi dalam ALUdinyatakan dalam bentuk instruksi Assembly Language Z80. Data-datasebagai objek opersi dapat diletakkan di dalam register-register sesuaidengan register yang digunakan oleh instruksi yang akan diberikan.

e)Register Instruksi dan Kontrol CPUSetiap instruksi yang diambila dari memori selalu ditempatkan di register instruksi untuk kemudian didekode ( dijabarkan maksudnya sesuaidengan bahasa Assembly Z80). Setelah di decode, bagian control CPUakan menjalankan perintah sesuai dengan tugas menghasilkan sinyal-sinyal control read/write, sinyal control untuk mengatur ALU dan sinyalcontrol lain untuk mengatur rangkaian-rangkaian luar.


f)Indikator Status Flag Register Pada Z80 mempunyai Status Indicators yang berupa Flag Register. F danF’ atau Flag Register dapat memberikan informasi kepada programmer mengenai status CPU Z80 setiap waktu pada saat CPU sedang bekerja.Posisi-posisi bit tiap flag adalah sebagai berikut :
D7 S
D6 Z
D5 xD4 H
D3 x
D2 P/V
D1 ND0 C
Keterangan :
                            C = Carry Flag 
N = Add/Subtruct Flag
P/V = Parity/ overflow Flag
H = Half-Carry Flag
Z = Zero Flag
S = Sign Flagx = Tidak digunakan
      Flag register mangandung 6-bit informasi status CPU Z80 yang dapatdites dan diset atau di-reset melalui instruksi-instruksi dalam program.Bit 3 dan bit 5 tidak diguanakan. 4 dan 6 bit yang digunakan bersifattestable. Dengan conditional jump, call atau return, 4 bit (C,P/V, Z dan S)tersebut dapat diketahui statusnya. Dua bit sisanya tidak bersifat sestabledan hanya digunakan pada operasi aritmatik BCD.

            B.Interupt CPU Z80
Interrupt adalah proses sisipan pelaksanaan suatu subroutine dalam suatu program, yang tidak dilakukan secara perangkat lunak (tidak disisipkan dalam bentuk instruksi di dalam program), tetapi dilakukan melalui perangkat kerasdengan pengaktifan sinyal-sinyal interrupt.Dalam praktik, kegunaan dari suatu interrupt adalah untuk mengizinkansuatu peralatan peripheral Input/Output Port atau suatu system rangkaian yangterhubung ke system CPU yang utama untuk menunda operasi yang sedangdijalankan oleh CPU sewaktu-waktu pada saat proses sedang berjalan, denganmaksud meminta atau memerintahkan CPU untuk mengeksekusi program- program rutin dari pheripheral-pheripheral tersebut sesuai dengan “vector” dariinterrupt yang telah didefinisikan sebelumnya.

Timing CPU Z80

CPU Z80 memiliki 3 buah operasi dasar :

  • Memori read/write

  • I/O Devices read/write

  • Interrupt

Suatu instruksi yang dimiliki Z80 sebenarnya hanyalah pengembangan dari ketiga operasi dasar tersebut. Setiap opersi tersebutmembutuhkan 3 sampai 6 periode clock untuk dapat menyelesaikantugasnya, atau bias juga diperpanjang untuk mengupayakan sinkronisasiCPU dengan peralatan luar. Dalam opersi program, siklus mesin yang pertama dari setiap instruksi adalah fetch cycle (pengambilan OpCode untuk di decode I. siklus ini membutuhkan 4 sampai 6 siklus, terkecuali bila  control WATT diaktifkan. Siklus mesin berikutnya biasanya adalah perpindahan data antara CPU dengan memori atau peralatan I/O, meskipunada pula pada instruksi –instruksi tertentu yang siklus mesin berikutnyaadalah OpCode fetch lagi

  • Waktu Eksekusi Intruksi CPU Z80Z80

merupakan prosesor 8-bit sehingga memiliki 8-bit data bus.Kombinasi logika yang mungkin pada data bus bervariasi dari 00000000Bsampai 11111111B atau sebanyak 256 kemungkinan. Dalam proses fetchdata, CPU mengartikan setiap kombinasi logika yang ada pada data bus.Karena CPU 8-bit memiliki 256 kemungkinan kombinasi logika pada data bus maka CPU 8-bit dapat memiliki maksimal 256 instruksi dasar yang berbeda.Artinya setiap kombinasi logika pada data bus dapat diartikansebagai sebuah instruksi. 
Namun, umumnya para perancang mikroprosesor tidak menggunakansemua kombinasi logika data bus ini unutk dijadikan suatu instruksi dasar karena sebuah instruksi dasar masih dapat dikembangkan menjadi suatuinstruksi lanjutan dengan menambahkan peran dibelakangnya dengan pertimbangan antara lain akan lebih efisien memanfaatkan sesediit mungkinteknik programming. Penggunaan instruksi yang banyak cenderungmenuntut programmer untuk menyediakan energi yang lebih besar pulauntuk menghafal dan mengerti arti tiap instruksi



BAB III

PENUTUP
A. KESIMPULAN

Berdasarkan system kerja yang dipelajari pada makalah tersebut bahwaCPU Z80 merupakan mikroprosesor yang banyak dipakai tidak hanyadikalangan pendidikan, tetapi juga di kalangan perindustrian dan diketahuimikroprosesor yang mereka gunakan menggunakan Z80. Pada awal produksinyua Z80 memiliki tipe awal yang hanya berkemampuan 2MHz dankemudian dikembangkan hingga menjadi 16MHz. CPU Z80 memiliki internalregister sebanyak 208 bit, termasuk diantaranya 6 buah general-purpose register yang dapat digunakan terpisah (tiap 8-bit) ataupun yang digunakan untuk melipat gandakan accumulatore atau general-purpose register yang lain.
Pada Z80 yang memiliki register sejumlah 208 bit yang berupa memori,inisangat berguna sekali bagi para programmer dalam pembuatan programmereka. Pada register-register tersebut juga memiliki fungsi-fungsi yang efektif.
Proses Interrupt dilakukan tidak dengan metode menyisipkan melalui perangkat lunak, tetapi melalui perangkat keras dengan mengaktifkan sinyal-sinyal interrupt.
Instruksi yang dimiliki Z80 sebenarnya ialah pengembangan dari operasimemori read/write, I/O devices read/write dan interrupt. Setiap operasi tersebutmembutuhkan 3 sampai 6 periode clock untuk dapat menyelesaikan tugasnya,atau bisa juga diperpanjang untuk mengupayakan sinkronisasi CPU dengan peralatan luar.
Z80 adalah prosesor 8-bit sehingga memiliki 8-bit data bus. Kombinasilogika yang mungkin pada data bus bervariasi dari 00000000B sampai11111111B atau sebanyak 256 kemungkinan. Tetapi biasanya para perancangmikroprosesor tidak menggunakan semua kombinasi logika data bus ini unutk dijadikan suatu instruksi dasar karena sebuah instruksi dasar masih dapatdikembangkan menjadi suatu instruksi lanjutan dengan menambahkan perandibelakangnya dengan pertimbangan antara lain akan lebih efisienmemanfaatkan sesedit mungkin teknik programming.

                                                                                                                                                                                                                                                                                                     

1 komentar: