Anda di halaman 1dari 4

PRAKTIKUM

MIKROPROSESOR & INTERFACE I

PERCOBAAN II
JUDUL
:
PENGGUNAAN
OPERATING SYSTEM
FZRTM
YANG
BERBASIS
MULTITASKING PADA MIKROKOMPUTER FZ80 UNTUK PRAKTIKUM
PEMROGRAMAN SISTEM BERBASIS MIKROPROSESOR Z80
OBYEKTIF :
1. Menguasai cara mengoperasikan FZRTM
2. Memahami Users Area Programming pada FZRTM
3. Memahami prinsip dasar multitasking
PERALATAN:
1. Modul FZ80CPU, Modul FZ80IF & FZ80 I/O
2. Regulator DC Power Supply +5V
3. EPROM FZRTM (O/S : 27256)
TEORI

Clock

Address Bus
Data Bus
Control
Bus

CPU

84C0
0

84C30
(Z80CT
C)

27256
FZRT
M

62256

(0000H
) s/d
(7FFFH
)

(0000H
) s/d
(FFFF
H)

PD
71051
C

PPI
8255

84C20
(Z80PIO
)

Unit
DMA

FZ800
I/O :
SWITC
H&
LED

Unit
LCD
Monito
r

Unit
Keyboar
d
Matriks

Gambar 2-1. Blok Diagram Mikrokomputer FZ80 dengan O/S FZRTM

FZ80 (Fukushima Zilog 80) adalah suatu mikrokomputer berbasis CPU Z84C00
yang didesain oleh N. HONDA dari Fukushima, Jepang. FZ80 ini dirancang khusus untuk
mendukung suatu bentuk edukasi terpadu yang amat baik dalam hal mempelajari
mikroprosesor beserta sistemnya. FZ80 terbagi dalam dua modul utama, yaitu FZ80CPU
dan FZ80IF. FZ80CPU adalah modul yang berisi kelengkapan standar dari suatu rangkaian
berbasis mikroprosesor, yaitu CPU, memory, dan peripheral Input/Output. Gambar 2-1
memperlihatkan konfigurasi lengkap bila dua papan utama (FZ80CPU & FZ80IF)
dirangkai dan dilengkapi dengan modul FZ80I/O.
Mikrokomputer FZ80 mempunyai Operating System yang diberi nama FZRTM
(Fukushima Zilog Real Time Monitor). O/S ini menggunakan metoda Real Time
Programming dalam strukturnya, yang dikenal sebagai TRON (The Real Time Operating
System Nucleus). FZRTM versi pertama, Ver.1.00, dibuat olehN. HONDA dari Fukushima
Research Center Jepang, dengan comment pada LCD dalam huruf Katakana. FZRTM
yang dipakai dalam percobaan ini adalah versi 1.03IND, yaitu versi dalam bahasa
Indonesia.
TRON (The Real-time Operating-system Nucleus) diperkenalkan oleh K.
Nakamura dari Tokyo University. TRON ini mengandung 5 sub-proyek, antara lain:
ITRON, BTRON, CTRON, MTRON, dan TRON CHIP. ITRON adalah suatu proyek
penelitian yang bertujuan untuk mengembangkan arsitektur Operating System untuk sistem
built in di industri. BTRON ditujukan untuk pengembangan Operating System yang
bersifat high-level dengan titik fokus penyempurnaan interface antara mesin-manusia
untuk para end-usesr (pemakai-pemakai akhir). Sedang CTRON dan MTRON adalah,
masing-masing, untuk pengembangan arsitektur O/S pada komputer main-frame dan
superminicomputer. Selain itu juga untuk pengembangan arsitektur dispersive
controluntuk sistem jaringan, yang terkahir TRON CHIP, adalah suatu proyek yang
bertujuan untuk mengembangkan arsitektur mikroprosesor yang akan digunakan khusus
untuk merealisasikan proyek TRON, yang disebut nucleus dalam kandungan proyek
TRON.
Kebanyakan teknologi komputer di dunia ini memanfaatkan CPU dan Operating
System yang dilahirkan di USA. Sebaliknya, TRON versi pertama dikembangkan dan
dipublikasikan di Jepang, dengan harapan dapat dikombinasikan dan dimanfaatkan secara
besar-besaran dan meluas.
ITRON padam FZRTM
Seperti yang telah disingguung di atas, ITRON (Industrial TRON) adalah proyek
yang bertujuan untuk menciptakan Operating System yang bersifat real-time dan multi-task
yang khusus didesain untuk sistem built-in di industri.
Meskipun CPU 16-bit dan 32-bit telah menjadi populer, aplikasinya masih
terbatas pada lingkungan EWS (Engineering Workstation) dan komputer-komputer
personal. Sebaliknya, CPU 8-bit, seperti Z80 telah diaplikasikan secara meluas dalam
sistem-sistem built-in. Dalam hal ini, FZ80 dengan FZRTM-nya merupakan contoh yang
amat baik tentang pendayagunaan ITRON untuk memperoleh sifat real-time monitor
dengan target CPUZ80. ITRON sendiri sebenarnya didisain unutk CPU 16-bit ke atas,
sehingga tidak mungkin memasukkan semua fungsi dari perpustakaan ITRON ke dalam
FZRTM. Walau demikian FZRTM dapat menciptakan suatu keadaan yang menyerupai
benar ITRON yang asli.

Apakah Multi-task itu ?


Gambar 2-2 menunjukkan suatu model teknik pemrograman konvensional.
Tampak bahwa beberapa subroutine dipangggil dari main program. Dalam program ini,
masing-masing subroutine diekskusi berdasarkan sekuen/alur dan dilakukan secara
berulang.
;
;
MAIN: CALL

SUB1
CALL
CALL
;
;
CALL
;
MAIN

JP
;

;eksekusi proses 1
SUB2
;eksekusi proses 2
SUB3
;eksekusi proses 3

SUBn

;eksekusi program n
;mengulangi proses ke MAIN

SUB1: (proses 1)
RET
;
SUB2: (proses 2)
RET
;
SUB3: (proses 3)
RET
;
;
;
SUBn
(proses n)
RET
END
;

Gambar 2-2. Model Prorgam Konvensional


Dalam hal ini, fungsi dari main program adalah sederhana, yaitu sebagai manager
eksekusi untuk subroutine-subroutine.

SCHEDULER
&
DISPATCHER

#31

TASK

#5
#4
#3
#2
#1
#0

TCB
#31

TCB
TCB
#5
TCB
#4
TCB
#3
TASK
TCB
#2
TCB
#1
Gambar 2-3. Diagram Alir Inti Program Multi-Task
#0

Sekarang muncul pertanyaan, apakh mungkin untuk mengatur eksekusi tiap


subroutine dengan mengembangkan fungsi dan main program ? misalnya suatu subroutine
perlu dieksekusi atau tidak. Hal ini akan dapat diselesaikan jika sebuah flag disediakan di
suatu daerah memory, yang subroutine dieksekusi berdasarkan isi dari flag tersebut.
Apakah hal ini ujga memungkinkan untuk saling menukar subroutine yang sedang
dieksekusi dengan subroutine yang lain meskipun proses subtroutine itu belum selesai? Hal
ini dapat direalisasi, jika ada suatu mekanisme yang mengatur penangguhan dan
peringkasan dari tiap subroutine, yang hal ini identik dengan eksekusi simultan dari
subroutine-subroutine (multi-tasking).
Cara apa yang dapat merealisasi dan menyelesaikan kebutuhan-kebutuhan di atas
itulah yang disebut sebagai multi-task. Teknik multi-task dapat dipandang sebagai
pengembangan dari teknik-teknik pemrograman teratur, dimana teknik konvesional ini
di-sistematik-kan dan di-rasional-kan. Alur pemrograman multi-task ditunjukkan pada
Gambar 2-3.
Dalam teknik multi-task, tiap subroutine disebut task, sedang main program yang
mengontrol eksekusi task disebut sebagai multi-task monitor (bagian utama adalah :
scheduler/dispatcher). Flags penunjuk hubungan antara suatu task dieksekusi atau tidak,
yang disediakan untuk tiap task disebut sebagai TCB (Task Control Blok). Jumlah task
minimum yang dapat dikelola oleh FZRTM secara bersama-sama adalah 32 buah. Tiap
task memiliki nomer khusus dari 0 sampai dengan 31. Nomer ini digunakan oleh
scheduler/dispatcher untuk mengontrol task yang bersangkutan.