Program Counter (PC)

3.2.3 Susunan Pin dari PIO Z-80

PIO Z-80 dibuat dalam standart 40 pin, dual in package (DIP), dengan pin- pin yang bervariasi dalam fungsi-fungsinya yang dibuat berurutan. Secara fungsional pin-pinnya dapat dikelompokkan dalam 6 kelompok seperti PIO Z-80 dibuat dalam standart 40 pin, dual in package (DIP), dengan pin- pin yang bervariasi dalam fungsi-fungsinya yang dibuat berurutan. Secara fungsional pin-pinnya dapat dikelompokkan dalam 6 kelompok seperti

CPU DATA BUS I/O DATA BUS (1-3,19,20,38-40) (7-10,12-15)

8 Bits 8 Bits

PIO KONTROL STATUS DAN KONTROL

(4-6,35-37) (16,18) Z-80 PIO

6 Lines 2 Lines

INT KONTROL I/O DATA BUS (27-34) (27-34)

3 Lines 8 bits SUPPLY & CLOCK STATUS & KONTROL (11,25,26) (17,21)

3 Lines 2 Lines

Gambar 3.3. Diagram Kelompok Pin pada Z-80

Ada juga beberapa garis yang menunjukkan signal yang mengalir dalam satu arah dan yang lain dalam arah yang berlawanan. Secara umum dapat dijelaskan sebagai berikut : PIO Menunjukkan signal yang mengalir dari PIO (output) PIO

Menunjukkan signal yang mengalir ke PIO (input) PIO

Menunjukkan signal yang mengalir pada garis yang sama (bidirectional).

3.2.4 Fungsi Pin dari PIO Z-80

PIO Z-80 disajikan dalam 40 pin. Adapun fungsi dari masing-masing pin tersebut adalah sebagai berikut :

a. Kelompok bus data CPU dan PIO

1. D0-D7 adalah bus data 8-bit aktif tinggi yang bersifat dua arah, ini digunakan sebagai saluran data dan perintah pentransferan antara PIO dan CPU.

2. A0-A7 adalah saluran untuk mentransfer data atau status-status dan signal-signal kontrol antara peralatan I/O dan port A dari PIO, aktif tinggi yang bersifat dua arah.

3. B0-B7 adalah saluran untuk mentransfer data atau status-status dan signal-signal kontrol antara peralatan I/O dan port A dari PIO, aktif tinggi yang bersifat satu arah.

b. kelompok kontrol PIO

1. B/A Sel adalah port select signal yang menentukan port untuk dipilih selama pengoperasian pentransferan data. Merupakan signal aktif rendah untuk memilih port A dan signal aktif tinggi untuk port B. Kadang-kadang untuk pemilihan ini digunakan alamat bit AO dari CPU. Merupakan signal satu arah ke PIO.

2. C/D Sel adalah signal kontrol atau pemilih data yang menentukan apakah data atau informasi kontrol yang ditransfer antara CPU dan port, oleh signal B/A sel. Sebuah signal aktif rendah menunjukkan bahwa data yang ditransfer antara CPU dan PIO. Sedang sebuah signal aktif tinggi menunjukkan bahwa sebuah perintah atau kontrol yang dikirim ke port oleh signal B/A sel. Kadang-kadang fungsi ini digunakan alamat bit A1 dari CPU. Merupakan signal satu arah ke PIO.

3. CE adalah sebuah signal aktif rendah yang menginformasikan kepada PIO untuk mengirimkan kata data ke CPU, selama CPU dalam siklus membaca. Selama CPU dalam siklus menulis, signal ini menginformasikan PIO untukmenerima kontrol atau kata data dari CPU ketika ditentukan oleh signal C/D sel.

4. M1 adalah sebuah signal aktif rendah yang masuk ke PIO dari CPU, untuk mengsinkronkan kerja interrupt logic dari PIO. Ketika M1 dan READ terus-menerus aktif, CPU membawa sebuah instruksi dari memori ketika M1 dan IORQ terus-menerus aktif, CPU memberitahukan sebuah interrupt.

5. IORQ adalah signal I/O request yang aktif rendah digunakan untuk mentransfer perintah-perintah dan data antara CPU dan PIO. Ketika CE, RD, IORQ adalah aktif, alamat port mengirim data ke CPU. Ketika CE dan IORQ aktif dan RD tidak aktif, lalu CPU menulis data atau sebuah perintah ke dalam alamat port.

6. READ adalah signal yang aktif rendah yang menuju PIO, yang menunjukkan bahwa CPU membaca sebuah kata dari I/O atau memori. Ketika digunakan hubungan dengan CE, I/O, signal B/A sel dan C/D sel, RD mentransfer data dari PIO ke CPU.

c. Kelompok kontrol interrupt

1. INT adalah signal interrupt respons yang merupakan keluaran aktif rendah yang menunjukkan PIO meminta sebuah interrupt dari sebuah CPU.

2. IEI adalah signal interrupt enable input yang merupakan masukan aktif tinggi, digunakan untuk menentukan prioritas interrupt. Jika signal ini aktif menunjukkan bahwa tidak ada peralatan I/O lain dengan prioritas yang lebih tinggi dari yang sedang dilayani.

3. IEO adalah signal interrupt enable output yang merupakan signal keluaran aktif tinggi, yang digunakan juga untuk menentukan prioritas interrupt. Ini hanya aktif, ketika IEI aktif dan tidak melayani sebuah interrupt dari PIO.

d. kelompok status dan kontrol port

1. A STB adalah signal strobe port A, aktif rendah yang diinputkan ke PIO dari peralatan I/O. Operasinya tergantung pada mode operasi yang dipilih sebagai berikut :

Mode 0 (output byte mode), menunjukan bahwa peralatan I/O telah menerima data yang terkirim oleh PIO. Mode 1 (input byte mode), peralatan mengeluarkan signal, ini menunjukkan bahwa data telah terkirim ke register input dari port yang telah dipilih. Mode 2 (bidirectional mode), ketika aktif menunjukan bahwa data dari register output pada port A diletakkan pada bus data dua arah, dan kemudian menunjukkan bahwa data telah diterima oleh peralatan I/O. Mode 3 (control mode), pulsa ini secara internal ditahan oleh PIO.

2. A RDY adalah signal ready untuk port A yang aktif tinggi, operasinya tergantung pada mode operasi yang dipilih sebagai berikut:

Mode 0 (output byte mode), ketika aktif menunjukkan bahwa register output port A berisi data word, dan data bus telah siap mentransfer ke peralatan I/O. Mode 1 (input byte mode), ketika aktif menunjukkan bahwa register input port A kosong dan siap menerima kata berikutnya dari peralatan I/O. Mode 2 (bidirectional mode), ketika aktif menunjukkan bahwa register output port A mempunyai data word untuk mentransfer ke peralatan I/O. Tetapi data tidak dikeluarkan ke data bus jika STB tidak aktif. Mode 3 (control mode), signal ini secara internal ditahan oleh PIO.

3. B STB adalah signal masukan strobe port B yang aktif rendah, dimana operasinya sama dengan A STB, tetapi hanya berlaku pada port B.

4. B RDY adalah signal keluran ready port B, yang aktif tinggi yang operasinya juga sama dengan A RDY, hanya berlaku bagi port B. signal ini aktf jika register input dari port A kosong dan siap untuk menerima pemasukan dari word berikutnya dari peralatan I/O.

3.2.5 Pemprograman PIO Z-80

Di atas telah dibicarakan tentang chip PIO Z-80 dan bagaimana cara pengoperasiannya. Selanjutnya akan dibicarakan tentang cara pemprogramannya. PIO Z-80 adalah sebuah antar-muka yang dapat diprogram, yang berarti bahwa dibawah program kontrol, pemakai dapat memanfaatkan sifat dan ciri-cirinya yang bervariasi untuk sebuah sistem pengantar-mukan. PIO juga dapat digunakan lebih dari satu secara bersama-sama secara pararel atau seri dengan sebuah pusat kendali CPU. Namun untuk ini perlu digunakan sebuah sub sistem yang disebut interrupt priority daisy chain yang biasanya dengan standart TTL, yakni yang mengontrol dari rangkaian PIO atau peralatan I/O sesuai dengan yang telah ditentukan.

Program inisialisai adalah sebuah program yang hanya terdiri dari beberapa byte saja, yang dimaksudkan sebagai program permulaaan yakni untuk mengadakan suatu pilihan mode kerja dari sebuah peripheral input output baik itu PPI, PIO, CTC ataupun yang lainnya. PIO Z-80 dapat dioperasikan pada 1 diantara 4 mode operasi yang ada. Program inisialisasi harus dapat mengidentifikasikan yang mana dari keempat mode yang dipilih untuk mengantar- mukakan sebuah sistem. Kata pertama harus dapat melakukan hal ini secara jelas. Format dari byta tersebut diperlihatkan pada tabel 3.4.

Tebel 3.4. Format Kata Set Mode

D7 D6 D5 D4 D3 D2 D1 D0 M1 M0 X X 1 1 1 1

Pada tabel diatas terlihat pada bit-bit dari D0-D3 adalah selalu mempunyai logika 1, sedang bit-bit pada posisi D4 dan D5 adalah tidak tentu (down care), artinya PIO Z-80 tidak peduli apapun keadaannya baik 0 maupun 1. Kode untuk pemilihan mode operasi PIO diberikan pada bit-bit D7 dan D6, yang dapat memberikan 4 pilihan mode sebagai berikut :

M1 M0

Mode

Mode selected

Keterangan

0 0 0 output byte

sebagai port output

0 1 1 input byte

sebagai port input

1 0 1 bidirectional byte

dapat dua arah

1 1 3 bit control

sebagai kontrol bit

Jika digunakan mode 3 (bit kontrol mode), maka byte berikutnya setelah pemilihan mode operasi PIO, harus dapat mengadakan pemilihan terhadap register I/O. Format dari byte ini diberikan pada tabel 3.5. sebagai berikut :

Tabel 3.5. Format Kata Pemilihan Register I/O D7 D6 D5 D4 D3 D2 D1 D0 I/O 7

Fungsi dari kata ini adalah untuk membuat tiap-tiap garis pada I/O data/kontrol bus secara individual sebagai sebuah garis masukan atau garis keluaran. Jika diberi logika 1 berarti masukan, dan jika diberi logika 0 berarti sebagai keluaran.

3.3 Sistem Memori

Dalam dunia mikroprosesor dikenal istilah sistem memori. Setiap orang yang pernah mempelajari mikroprosesor pasti mengenal istilah tersebut. Istilah ini tidak jauh berbeda dengan istilah memori yang sering dipakai sehari-hari. Pada mikroprosesor memori dikelompokkam menjadi dua jenis yaitu votatile dan nonvotatile memory. EPROM (Erasable Programmable Read Only Memory), termasuk jenis nonvotalite memori yang berarti bahwa informasi yang tersimpan tidak akan terhapus meskipun catu dayanya putus. Berbeda dengan RAM (Random Acces Memoy), informasi yang tersimpan akan hilang jika catu dayanya dimatikan, bahkan ada jenis RAM dinamik akan kehilangan informasinya yang semula tersimpan jika operasi refresh-nya dihentikan walaupun catu dayanya tidak dimatikan. Oleh karena itu banyak orang menggunakan EPROM sebagai penyimpan informasi awal untuk melakukan pekerjaan awal dari setiap mikroprosesor.

3.3.1 EPROM 2716 (Erasable Programmable Read Only Memory)

EPROM merupakan satu jenis ROM (Read Only Memory) yang dapat dihapus dengan menyinari lembar silikonnya dengan sinar ultra violet dengan panjang gelombang tertentu. Gambar 3.4 adalah gambar susunan pin-pin dari EPROM 2716, dan gambar 3.5. adalah gambar diagram blok dari EPROM 2716 tersebut.

A7 Vcc 1 24

A6 A8 A5 A9 A4 Vpp

A3 OE EPROM

A2 A10

A1 CE 2716

Gambar 3.4. Susunan Pin-pin dari EPROM 2716

D ata Output (D0-D7)

Vcc Vpp Gnd

OE

Out enable

Output Buffer

CE Chip enable

Y Cating A0-A10

Y Decoder

Address input

16,384 bits

X Decoder

CELL matrik

Gambar 3.5. Diagram Blok EPROM 2716

EPROM 2716 ini mempunyai kapasitas memori sebesar 2 kilo byte, dengan waktu akses maksimal 350 nS. Tegangan supply yang diperlukan sebesar

5 Volt dengan disipasi daya 525 mW pada waktu aktif dan 132 mW pada waktu tidak aktif.

Tabel 3.6. Mode Kerja dari EPROM 2716 PIN

Output MODE

(9-11,13-17) Read VIL VIL +5

+5 D Out Stand bye

High Z Profram VIL-VIH VIH

VIL

D’care

D in P. Verify

D out P. Inhibit

High Z

Dari tabel dan gambar diatas dapat diketahui bahwa dengan memberi pin

20 dengan tegangan sebesar Vpp (Programming voltage) dan membuat pin CE berlogika rendah, maka pemprograman EPROM dapat dilaksanakan. Tegangan pemprogramman ini berbeda-beda besarnya tergantung dari tipe dan pabrik pembuatnya. EPROM generasi pertaman memiliki Vpp sebesar 25 Volt, bahkan ada yang 12,5 Volt untuk tipe yang terbaru. Dalam memprogram EPROM ini, yang perlu diperhatikan adalah mode-mode pemprogrammannya seperti pada tabel 3.6. diatas.

3.3.2 RAM (Random Access Memory)

RAM (Random Access Memory) adalah jenis votalite memori atau jenis memori yang isinya dapat hilang jika catu dayanya dimatikan. RAM 6116 adalah

jenis RAM statis yang mempunyai kapasitas sebesar 2 kilo byte (2 11 = 2048 words). RAM 6116 dapat beroperasi pada tegangan catu 5 Volt, dengan saluran jenis RAM statis yang mempunyai kapasitas sebesar 2 kilo byte (2 11 = 2048 words). RAM 6116 dapat beroperasi pada tegangan catu 5 Volt, dengan saluran

A7 Vcc

A6 A8 A5 A9 A4 WE A3 OE A2 A10 RAM 6116 A1 CS A0 D7 D0 D6 D1 D5 D2 D4 GND D3

Gambar 3.6. Susunan Pin-pin dari RAM 6116

3.4 Rangkaian Address Decoder

Dalam suatu sistem komputer, bahkan pada sistem yang paling minimal sekalipun pasti dikenal dengan adanya memori, serta unit masukan dan keluaran (I/O unit). Agar sistem memori dan unit masukan dan keluaran tersebut dapat terdefinisi dengan baik, sehingga prosesor dapat melakukan dengan unit memori serta dengan unit I/O secara tepat, maka dibutuhkan sebuah rangkaian pengkode alamat, atau yang lebih dikenal dengan address decoder.