Anda di halaman 1dari 43

1

BAB I
SISTEM MIKROPROSESOR

1.1 Pendahuluan
Mikrokomputer adalah sebuah perangkat elektronika yang sangat kompleks dan
serbaguna. Sistem yang digunakan adalah mikroprosesor yang mempunyai
kemampuan sebagai pusat pengolah data (CPU/Central Processing Unit).
Mikroprosesor adalah sebuah komponen yang terdiri dari ribuan transistor yang
dibentuk dengan menggunakan teknologi pemaduan skala besar yang menerapkan
fungsi-fungsi sebuah unit aritmetika dan logika ditambah unit pengendali dalam satu
serpih. Mikroprosesor bersifat dapat diprogram (programmable) sehingga dengan
mudah dapat mengganti atau mengubah programnya. Ada beberapa versi
mikroprosessor yakni :
Mikroprosesor 8085 dengan lebar data 8 bit
Mikroprosesor 8086 dengan lebar data 16 bit
Mikroprosesor 80286 dengan lebar data 16 bit
Mikroprosesor 80386 dengan lebar data 16 bit
Mikroprosesor 80486 dengan lebar data 16 bit
Mikroprosesor Pentium 1, Pentium 2, Pentium 3, dan Pentium 4 dengan lebar
data 16, 32 dan 64 bit

Sistem mikroprosesor terdiri dari banyak perangkat keras akan tetapi minimal harus
berisi elemen-elemen sebagai berikut:
a. Unit pemroses pusat (CPU)
b. Memori (RAM dan ROM)
c. Saluran (alamat, data, dan pengendali)
d. Elemen-elemen InputlOutput (1/0)

Adapun blok diagram dari sistem mikroprosesor adalah sebagai berikut :

2
UNIT PEMROSESAN PUSAT
(CPU)
















Gambar 1.1 Blok Diagram Sistem Mikroprosesor

1.2 Penyajian
1.2.1 Central Processing Unit (CPU)
CPU adalah otak dari komputer. CPU mengontrol semua aktifitas dalam sistem,
mengaktifkan memori dan elemen-elemen I/O. CPU ini sendiri terdiri dari dua unit
yaitu : unit pengendali (CU/Control Unit) dan unit aritmetika dan logika
(ALU/Arithmetic Logical Unit).
a. Arithmetic Logical Unit (ALU)
Unit ini melaksanakan operasi aritmetika dan logika untuk data yang
melaluinya. Fungsi aritmetika termasuk penjumlahan dan pengurangan.
Operasi logika termasuk logika AND, logika OR dan operasi pergeseran.
ALU merupakan bagian pengolah data (bit) dari sebuah komputer.
b. Control Unit (CU)
Fungsi utama CU adalah mengambil, mengkode (menafsirkan kode/sandi) dan
melaksanakan urutan instruksi sebuah program ,yang tersimpan dalam
memori.Unit pengendali mengatur urutan operasi seluruh sistem. Khususnya
UNIT
PENGENDALI
(CU)
UNIT
ARITMETIKA DAN
LOGIKA
(ALU)
UNIT
KELUARAN
UNIT
MASUKAN
MEMORI UTAMA
MEMORI MASSAL
3
unit ini menghasilkan dan mengatur sinyal pengendali yang diperlukan untuk
menyinkronkan operasi, selain itu juga aliran data dan instruksi program di
dalam dan di luar ALU. CU mengendalikan aliran informasi pada bus data
dan bus alamat, kemudian menafsirkan dan mengatur sinyal yang terdapat
pada bus pengendali.

1.2.2 Memori
Memori digunakan untuk menyimpan informasi. Secara fungsional memori berisi
dua jenis informasi yaitu program dan data. Sebuah program adalah serangkaian
instruksi yang telah disandikan dalam. bentuk biner sehingga dapat tinggal dalam.
memori elektronik. Program dan data digunakan dengan cara yang berbeda.
Program menetapkan urutan langkah yang harus dilakukan oleh komputer.
Dibawah pengawasan CU, masing-masing instruksi berurutan pada sebuah program
diambil dan disimpan dalam sebuah registrer khusus CU, instruksi-instruksi tersebut
akan didekode dan dilaksanakan.
Data yang terdapat dalam memori biasanya ditunjukkan dalam dua jenis memori,
yaitu main memory (memori utama) dan mass memory (memori massal). Memori
utama digunakan untuk menyimpan program yang sedang dilaksanakan dan data
yang diperoleh atau dihasilkan sewaktu pelaksanaannya. Sedangkan memori massal
dipakai untuk menyimpan program dan data atau sebagian dari padanya yang tidak
segera dibutuhkan oleh CPU ataupun yang tidak dapat ditampung oleh memori
utama. Idealnya, sebuah program disimpan dalam memori massal secara permanen
dan dimuat ke dalam memori utama untuk pelaksanaan.
Dapat dibedakan dua tipe logika memori, tergantung dari kemungkinan akses yaitu
Read Only Memory (ROM) dan Random Access Memory (RAM). ROM biasanya
berisi set-set program pendukung (program - program monitor) yang diberikan
oleh pabrik pembuat mikrokomputer. Data dalam ROM tidak bisa hilang karena.
bersifat permanen. RAM bisa dibaca atau ditulis serta mudah dihapus. Daerah RAM
4
dari suatu mikrokomputer adalah daerah yang diizinkan untuk pemakai menuliskan
program-programnya.

1.2.3 Saluran Bus
Sebuah bus adalah seperangkat saluran komunikasi yang berfungsi untuk
mengirim sinyal. Dalam hal sistem mikroprosesor, setidaknya tersedia tiga bus
standar yang jumlah bitnya tergantung dari jenis mikroprosessornya.
Untuk Intel 8085 busnya terdiri dari 16 bit bus alamat, 8 bit bus data dan 18 bit
bus pengendali.
1. Saluran data bus
Saluran data (data bus) merupakan suatu bus yang mengirim. data antar unit.
Misalnya, bus ini membawa data dari unit masukan menuju mikroprosessor
dan dari mikroprosessor menuju memori.
2. Saluran alamat (address bus) merupakan bus yang dipakai untuk memilih
tujuan sinyal yang dikirim pada bus lainnya.
3. Saluran pengendali (control bus), bus yang mensinkronkan kegiatan-kegiatan
sistem. Bus ini membawa informasi status dan pengendali ke/dari unit
mikroprosesor (MPU).

1.2.4 Elemen-elemen I/O
Elemen I/O dipakai untuk komunikasi dengan dunia luar. Elemen-elemen ini
dihubungkan ke sistem bus. Terdapat dua macam sistem komunikasi yaitu serial
(lewat UART) dan paralel (lewat PIO)






5
1.3 Penutup
Sebelum lanjut ke bab berikutnya, berilah tanda jika anda mampu menjawab
pertanyaan-pertanyaan di bawah ini dan tanda jika anda belum mampu menjawab
pertanyaan.
Mampukah anda menjelaskan perbedaan antara mikrokomputer dengan
mikroprosesor ?
Dapatkah anda menggambarkan elemen-elemen mikroprosesor ?
Dapatkah anda menjelaskan pengertian memori ?
Dapatkah anda menjelaskan pengertian I/O

1.3.1 Soal-soal Latihan

1) Jelaskanlah perbedaan antara mikrokomputer dengan mikroprosesor ?
2) Gambarkan dan jelaskanlah elemen-elemen yang menyusun sistem
mikroprosesor?
3) Jelaskan pengertian memori ?
4) Jelaskan pengertian I/O




















6
BAB II
MEMORI


1.1 Pendahuluan
Memori dari sebuah komputer merupakan tempat untuk menyimpan program
dan data sebelum operasi perhitungandimulai. Selama sebuah komputer bekerja,
bagian kendali dapat menyimpan sebagian dari jawaban-jawaban didalam memori,
sebagaimana kita menggunakan kertas untuk mencatat pekerjaan kita. Karena itu,
emori merupakan salah satu dari bagian-bagian yang paling aktif dari sebuah
komputer, peranannya tidak terbatas pada penyimpanan program dan data saja yang
melainkan juga data yang sedang diproses.
Sebuah memori ekivalen dengan ribuan register, dan sebuah register dapat
menyimpan sebuah kata biner. Komputer-komputer generasi terakhir mengandalkan
memori semikonduktor karena jenis memori ini lebih murah dan lebih murah
operasinya dibandingkan dengan emori teras magnet. Sebuah mikrokomputer standar
memiliki memori semikonduktor yang mengandung sampai 65.536 lokasi memori,
dengan kemampuan menyimpan 1 byte informasi pada setiap lokasi memori.

1.2 Penyajian
1.2.1 Read Only Memory (ROM)
Read-only-memory (ROM) memori hanya untuk dibaca adalah suatu jenis
memori yang paling sederhana. Memori ini ekivalen dengan sekelompok register, dan
masing-masing register dapat menyimpan sebuah kata secara permanen. Dengan
menggunakan sinyal-sinyal kendali, kita dapat membaca suatu kata dari lokasi
memori yang mana saja. (membaca berarti membuat isi lokasi memori muncul
pada terminal-terminal keluaran dari ROM).



7
1.2.2 ROM DIODA

Gambar 2-1 dibawah ini memperlihatkan suatu cara membangun sebuah ROM.















Gambar 2.1 ROM dioda sederhana
Setiap baris horisontal membentuk sebuah register atau suatu lokasi memori, Register
R
o
mengandung tiga buah dioda, register R
1
memiliki sebuah dioda, dan seterusnya,
sehingga keluaran ROM adalah :
D = D
3
D
2
D
1
D
0

Pada posisi saklar 0, tegangan yang tinggi akan menyalakan dioda-dioda dalam
register R
0
; semua dioda yang lain tetap mati. Ini berarti keluaran tinggi muncul pada
D
2
,

D
1
, dan

D
0
. Oleh sebab itu, kata yang tersimpan pada lokasi memori nol adalah :
D = 0 1 1 1
Apa yang terjadi bila saklar dipindahkan ke posisi 1?
8
Dioda dalam register R
1
akan menghantarkan arus dan mendorong D
3
menjadi tinggi.
Karena semua dioda yang lain mati, maka keluaran ROM menjadi :
D = 1 0 0 0
Dengan demikian isi lokasi memori 1 adalah 1000.
Tabel 2.1 Dioda ROM
Register Alamat Kata
R
0
R
1
R
2
R
3
R
4
R
5
R
6
R
7
0
1
2
3
4
5
6
7
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
0 1 1 0
1 0 0 1
0 0 1 1
1 1 1 0

Bilamana anda memindahkan saklar ke posisi yang lain, anda akan membaca isi dari
lokasi memori lain yang bersangkutan. Tabel 2.1 menunjukkan seluruh isi memori
tersebut, yang dapat anda periksa kembali melalui analisis Gambar 2.1
Dengan rangkaian diskrit kita dapat mengubah isi dari suatu lokasi memori dengan
menambahkan atau mengurangi sejumlah dioda. Dengan rangkaian terpadu, pabrik-
pabrik pembuat menyimpan kata-kata yang dikehendaki pada waktu melalui
fabrikasi. Dalam kedua kasus ini, kata-kata akan disimpan secara permanen bilamana
dioda-dioda itu telah dipasang pada tempatnya.

1.2.3 Alamat
Alamat dan isi dari suatu lokasi memori adalah dua hal yang berbeda.
Sebagaimana ditunjukkan dalam Tabel 2-1, alamat suatu lokasi memori adalah sama
dengan subskrip (indeks) dari register yang menyimpan data. Dengan ini register 0
9
mempunyai alamat 0 dan isi 0111; register 1 mempunyai alamat 1 dan isi 1000;
register 2 mempunyai alamat 2 dan isi 1011; dan seterusnya.
Gagasan mengenai lamat ini dapat diterapkan pada ROM dengan ukuran berapa saja.
Sebagai contoh, sebuah ROM dengan 256 lokasi memori memiliki alamat desimal
dari 0 sampai 255 lokasi. Sebuah ROM dengan 1024 lokasi memori memiliki alamat
desimal dari 0 sampai 1023.

1.2.4 Pengkodean pada Serpih
Dari pada memilih lokasi memori dengan saklar seperti Gambar 2-1, pabrik-
pabrik IC menggunakan cara pendekodean pada serpih (on-chip decoding). Gambar
2-2 menjelaskan gagasan ini.






















Gambar 2-2 ROM dengan pengkodean pada serpih


10
Tiga penyemat masukan (A
2
, A
1
, dan A
0
) menyediakan alamat biner dari data yang
tersimpan. Kemudian sebuah dekoder 1- dari 8 menghasilkan keluaran tinggi kepada
salah satu register.
Misalnya, jika
ALAMAT = A
2
A
1
A
0
= 1 0 0
Dekoder 1 dari 8 memberikan tegangan tinggi kepada register R
4
, dan keluaran ROM
menjadi :
D = 0 1 1 0
Jika kita mengubah alamat diatas menjadi
ALAMAT = 1 1 0
Kita akan membaca isi dari lokasi memori 6, yaitu:
D = 0 0 1 1
Rangkaian pada Gambar 2-2 merupakan sebuah ROM 32 bit yang disusun menjadi 8
kata, masing-masing terdiri dari 4 bit. ROM ini memiliki tiga saluran (masukan)
alamat dan empat saluran (keluaran) data. Ini merupakan ROM yang berukuran
sangat kecil dibandingkan dengan ROM-ROM yang tersedia secara komersial.

1.2.5 Jumlah Saluran Alamat
Dengan pendekodean pada serpih, n saluran alamat dapat menseleksi 2
n
lokasi
memori. Misalnya, kita membutuhkan 3 saluran alamat dalam Gambar 2-2 untuk
mengakses 8 lokasi memori. Demikian pula, 4 saluran alamat dapat mengakses 16
lokasi memori, 8 saluran alamat dapat mengakses 256 lokasi memori, dan seterusnya.

1.2.6 PROM dan EPROM
Dengan sebuah ROM, anda harus mengirimkan kepada pabrik, daftar data
yang akan disimpan dalam lokasi memori berbeda dalam ROM. Atas dasar ini pabrik
membuat masker (film fotografi dari rangkaian) yang akan dipakai dalam produksi
ROM anda secara besar-besaran. Dalam fabrikasi ROM , pabrik mungkin
menggunakan transistor bipolar atau MOSFET. Akan tetapi gagasan pokoknya masih
11
tetap sama; transistor atau MOSFET tersebut akan berperanan sebagai diode-diode
seperti dalam Gambar 2-2.

1.2.6.1 PROM
Programmable ROM (ROM yang dapat diprogram: disingkat PROM)
memberi keleluasaan kepada pemakai untuk menyimpan data. Sebuah instrumen
yang disebut pemrogram PROM (PROM programmer) dapat melakukan
penyimpanan dengan pembakaran. (Sambungan-sambungan pada lokasi bit dapat
dipanaskan sampai putus dengan arus besar). Dengan pemrograman PROM, seorang
pemakai dapat memasukkan program dan data melalui pembakaran tersebut. Sekali
hal ini telah dilakukan, pemrograman tersebut akan bersifat permanen. Dengan kata
lain, isi yang tersimpan tidak dapat dihapuskan.
1.2.6.2 EPROM
Erasable PROM (PROM yang dapat dihapuskan, disingkat EPROM)
menggunakan MOSFET sebagai komponen-komponennya. Data disimpan dengan
memakai pemrogram PROM. Selanjutnya, data dapat dihapus dengan sinar
ultraviolet . Sinar itu dilewatkan melalui jendela kemasan IC menuju ke serpih.
Dengan ini akan terjadi pembebasan muatan-muatan tersimpan pada MOSFET. Efek
yang ditimbulkan berupa penghapusan isi yang tersimpan. Dengan kata lain,
EPROM adalah ROM yang dapat dihapus dengan sinar ultraviolet dan dapat
diprogram kembali secara listrik.
EPROM sangat membantu dalam desain dan pengembangan. Ini memungkinkan
pemakai untuk menghapus dan menyimpan sesuatu sampai akhirnya dihasilka
program dan data yang telah disempurnakan. Kemudian program dan data tersebut
dapat dikirimkan kepabrik IC, yang akan memproduksi mask ROM untuk keperluan
besar-besaran.



12
1.2.7 Piranti-Piranti Hasil Pabrik
Dengan integrasi skala besar, pabrik dapat membuat ROM, PROM, dan
EPROM yang menyimpan ribuan kata. Sebagai contoh, 8355, adalah ROM 16.384 bit
yang disusun sebagai 2048 kata masing-masing terdiri dari 8 bit. ROM ini
mempunyai 11 saluran alamat dan 8 saluran data.
Contoh yang lain, 2764 adalah EPROM 65.536 bit yang disusun sebagai 8.129 kata
masing-masing terdiri dari 8 bit. Piranti ini mengandung 13 saluran alamat dan 8
saluran data.

1.2.8 Waktu Akses
Waktu akses ( access time) dari suatu memori adalah waktu yang diperlukan
untuk membaca kata yang tersimpan setelah bit-bit alamat dimasukkan. Karena
transistor-transistor bipolar lebih cepat dari MOSFET, maka memori bipolar memiliki
waktu akses yang lebih singkat dari pada memori MOS. Misalnya, 3636 adalah
PROM bipolar dengan waktu akses 80 ns; 2716 adalah EPROM MOS dengan waktu
akses 450 ns. Anda harus membayar lebih mahal untuk kecepatan yang lebih tinggi.
Karena itu memori bipolar lebih mahal dari pada memori MOS. Dengan demikian,
seorang perancang harus memutuskan pilihan tipe yang tepat, sesuai dengan kondisi
penerapan yang khusus.

1.2.9 Memori Tiga Keadaan
Dengan menambahkan saklar-saklar tiga keadaan pada saluran data dari suatu
memori, kita dapat memperoleh keluaran tiga keadaan. Sebagai contoh, Gambar 2-3
memperlihatkan sebuah ROM 16384 bit yang disusun sebagai 2048 kata, masing-
masing terdiri dari 8 bit. Sistem memori ini mempunyai 11 saluran alamat dan 8
saluran data. Saluran ENABLE yang rendah akan membuka seluruh saklar dan
mengambangkan semua saluran keluaran. Dipihak lain, keadaan ENABLE yang
tinggi akan memungkinkan kata alamat untuk mencapai keluaran akhir.

13














Gambar 2-3 ROM tiga keadaan

Kebanyakan dari ROM ,PROM dan EPROM yang tersedia secara komersial
mempunyai keluaran tiga keadaan. Dengan kata lain, mereka telah dilengkapi dengan
saklar-saklar tiga keadaan yang memungkinkan kita untuk menyambungkan atau
memutuskan saluran keluaran dengan bus data. Hal ini akan kita bahas lagi
kemudian.
1.2.10 Memori Nonvolatil
ROM, PROM, dan EPROM adalah memori-memori nonvolatile (tak mudah
meluap). Artinya alat-alat ini tetap menyimpan data sekalipun catu daya ke piranti
yang bersangkutan telah dimatikan. Tidak semua memori memiliki sifat seperti ini.
1.2.10.1 Random Access Memory (RAM)
Random-access memory (disingkat RAM, artinya memori yang dapat diakses
secara acak, disebut juga memori baca-tulis (read-write), adalah ekivalen dengan
sekelompok register yang dapat dialamati. Setelah disediakan sebuah alamat, kita
dapat membaca isi yang tersimpan pada lokasi memori dengan alamat itu atau
menuliskan isis yang baru kedalam lokasi memori tersebut.
1.2.10.2 RAM Teras (Core RAM)
RAM teras (core RAM) adalah jenis RAM yang mendominasi dalam desain
komputer dimasa lalu. RAM jenis ini memiliki keuntungan karena tak mudah
menguap (nonvolatile) ; artinya sekalipun catu dayanya telah dihentikan, ROM teras
14
magnetic tetap menyimpan data. Kerugiannnya adalah RAM ini lebih mahal dan
lebih sukar untuk dioperasikan dari pada memori semi konduktor.
1.2.10.3 RAM Semikonduktor
RAM semikonduktor dapat bersifat statik atau dinamik. RAM statik
menggunakan flip-flop bipolar atau MOS; data disimpan secara permanen selama
flip-flop masih mendapat catu daya listrik. Dipihak lain, RAM dinamik menggunakan
MOSFET dan kapasitor yang menyimpan data. Karena kapasitor selalu mengalami
kebocoran muatannya, data yang disimpan harus disegarkan lagi (refreshed, artinya
muatannya diisi lagi) setiap beberapa milidetik. Pada kedua jenis memori ini, RAM-
RAM bersifat volatile; artinya bilamana catu daya dihentikan, kita akan kehilangan
data yang tersimpan.
1.2.10.4 RAM Statik
Gambar 2-4(a) memperlihatkan satu dari flip-flop yang digunakan dalam
sebuah RAM MOS statik. Q
1
dan Q
2
berfungsi sebagai saklar. Q
3
dan Q
4
merupakan
beban-beban aktif, yaitu berfungsi sebagai hambatan-hambatan. Salah satu dari Q
1

dan Q
2
dapat berkonduksi dengan yang lain dalam keadaaan terputus atau sebaliknya.
Sebuah RAM statik terdiri dari ribuan flip-flop seperti ini, masing-masing flip-flop
untuk satu bit yang tersimpan. Selama diberi catu daya, flip-flop akan tetap berada
dalam kondisi tertahan dan menyimpan bit secara permanen.














Gambar 2-4.(a) Sel statik; (b) Sel dinamik

15
1.2.10.5 RAM Dinamik
Gambar 2-4(b) memperlihatkan salah satu dari elemen-elemen memori
(disebut sel) dalam RAM dinamik. Apabila saluran indera (sense) dan saluran kendali
menjadi tinggi, MOSFET akan berkonduksi dan mengisi kapasitor. Apabila saluran
indera dan saluran kendali menjadi rendah, MOSFET akan terbuka dan kapasitor
menahan muatan didalamnya. Dengan cara ini MOSFET tersebut dapat menyimpan
satu bit data. Sebuah RAM dinamik dapat terdiri dari ribuan sel-sel memori seperti
pada Gambar 2-4(b). Karena hanya dibutuhkan sebuah MOSFET dan sebuah
kapasitor untuk menyimpan/bit data, maka RAM dinamik mengandung lebih banyak
sel-sel memori dari pada RAM statik dari ukuran yang sama. Dengan kata lain,
sebuah RAM dinamik memiliki lebih banyak lokasi memori dibandingkan RAM
statik dengan ukuran yang sama.
Kerugian dari RAM dinamik adalah keperluannya akan penyegaran kembali pada
muatan kapasitor setiap beberapa milidetik. Hal ini memperumit persoalan desain
rangkaian karena memerlukan rangkaian yang lebih besar. Untuk itu, bekerja dengan
RAM statik itu jauh lebih sederhana dibanding dengan RAM dinamik.
1.2.10.6 RAM Tiga Keadaan
Kebanyakan dari RAM yang tersedia secara komersial, baik statik maupun
dinamik dan memiliki keluaran tiga-keadaan. Dengan kata lain, pihak pabrik telah
menlengkapinya dengan saklar tiga-keadaan dalam serpih-serpih yang bersangkutan
sehingga kita dapat menyambungkan saluran-saluran keluaran RAM dengan bus data
atau memutuskan hubungan tersebut.
Gambar 2-5 memperlihatkan sebuah RAM statik dan sinyal-sinyal masukan yang
lazim. Bit-bit ALAMAT menentukan lokasi memori, sinyal kendali WE dan CE
memilih antara operasi operasi-tulis dan operasi-baca, atau tidak berbuat apa-apa.
WE dikenal sebagai sinyal write-enable (mengaktifkan operasi menulis), dan CE
disebut sinyal chip-enable (sinyal yang mengaktifkan serpih). Kedua masukan
kendali tersebut bersifat aktif-rendah.
16











Gambar 2-5 RAM statik dengan masukan-masukan kendali yang membalik

Tabel 2-2 merangkumkan cara operasi dari RAM statik. Inilah apa yang terjadi: CE
yang rendah dan CE yang rendah menghasilkan operasi menulis. Ini berarti data
masukan D
in
disimpan didalam lokasi memori yang telah dialamatkan itu. Sebaliknya
saluran data keluaran tiga-keadaan menempati keadaan mengambang selama operasi
menulis tersebut.
Apabila CE rendah danWE tinggi, maka yang terjadi adalah operasi membaca. Isi
dari lokasi memori yang dialamatkan akan muncul pada saluran keluaran karena pada
saat ini saklar tiga-keadaan dalam keadaan tertutup.
Kemungkinan terakhir adalah CE yang tinggi. Ini merupakan suatu keadaan bertahan
tanpa terjadi sesuatupun. Data internal pada semua lokasi memori membeku atau
tidak berubah. Perhatikan bahwa saluran data keluaran dalam keadaan mengambang.

Tabel 2-2 RAM Statik
CE
WE
Operasi Keluaran
0
0
1
0
1
X
Menulis
Membaca
Menahan
Mengambang
Tersambung
Mengambang


17
1.2.11 Memori-Memori Gelembung (Bubble Memories)
Sebuah memori gelembung terdiri suatu film tipis dari bahan magnetic, yang
disisipkan antara dua magnet permanen logika 1 dan 0 dinyatakan oleh gelembung-
gelembung magnetic didalam lapisan tipis ini. Perincian cara kerja dari memori
gelembung tersebut terlalu rumit untuk dibicarakan disini. Yang berguna untuk
diketahui adalah bahwa memori-memori gelembung tidak mudah menguap dan
mampu menyimpan data dalam jumlah sangat besar. Misalnya, IC INTEL 7110
adalah sebuah memori gelembung yang dapat menyimpan sekitar 1 juta bit. Suatu
kerugian yang terdapat pada memori ini adalah waktu akses yang lambat.

1.2.12 Memori TTL Kecil
Gambar 2-6 memperlihatkan memori baca-tulis sederhana. Dua buah IC
74189 dipakai guna memperoleh sebuah memori 16 X 8. Ini berarti kita dapat
menyimpan 16 kata masing-masing 8 bit. Tanda lingkaran kecil pada penyemat-
penyemat data keluaran (penyemat: 5, 7, 9, 11) menyatakan bahwa bit-bit data yang
disimpan merupakan komplemen dari bit-bit data masukan.

















Gambar 2-6 Memori baca-tulis sederhana

18
1.2.13 Pengalamatan Memori
Bit-bit alamat berasal dari sebuah register saklar alamat (A
3,
A
2
, A
1
, A
0
).
Melalui pengaturan saklar kita dapat memasukkan setiap alamat yang terdapat dari
0000 sampai 1111. Sebagaimana dituliskan dibagian bawah dari Gambar 2-6, posisi
ke atas dari saklar alamat sama dengan logika 1. Jadi, alamat yang dituju dengan
seluruh saklar ke atas adalah 1111.
1.2.14 Penyusunan Data
Masukan-masukan data berasal dari dua register saklar yang lain. Nibble
masukan bagian atas adalah D
7
, D
6
, D
5
, dan D
4
; dan nibble masukan bagian bawah
adalah D
3
, D
2
, D
1
, dan D
0
. Dengan mengatur saklar-saklar data kita dapat
memasukkan kata-data yang manapun dari 0000 0000 sampai 1111 1111 yang
ekivalen dengan 00H sampai FFH. Catatan dibagian bawah dari gambar 9-7
menunjukkan bahwa saklar data dengan posisi keatas menghasilkan masukan 0 atau
keluaran 1. Dengan demikian, posisi saklar data harus dipasang keatas untuk
menyimpan bit 1.
1.2.15 Pemrograman Memori
Untuk memprogram memori (menyimpan instruksi dan kata-data), saklar
RUN-PROG harus berada pada posisi PROG. Ini akan menghubungkan penyemat 2
( CE) dari masing-masing 74189 dengan tanah. Apabila saklar READ-WRITE
dipindahkan keposisi WRITE, maka penyemat 3 (WE ) akan ditanahkan dan
komplemen kata-data masukan akan dituliskan kedalam lokasi memori yang
dialamatkan. Sebagai contoh, umpamakan kita hendak menyimpan kata-kata sebagai
berikut:
Alamat Data
0000 0000 1111
0001 0010 1110
0010 0001 1101
0011 1110 1000
19
Kita mulai dengan menempatkan saklar RUN PROG pada posisi PROG. Untuk
menyimpan kata data pertama pada alamat 0000, kita atur saklar-saklar sebagai
berikut:
Alamat Data
DDDD DDDD UUUU
Huruf D menyatakan posisis ke bawah (down) dan U menyatakan posisi ke atas (up).
Apabila saklar READ-WRITE dipasang pada posisi WRITE, maka kata-data 0000
1111 akan dituliskan kedalam lokasi memori 0000. Saklar READ-WRITE kemudian
dikembalikan ke posisi READ untuk mempersiapkan operasi WRITE berikutnya.
Untuk mengisikan kata kedua pada alamat 0001, kita harus mengataur saklar-saklar
alamat dan data sebagai berikut:
Alamat Data
DDDU DDUD UUUD

Apabila saklar READ-WRITE dipasang pada posisi WRITE, kata-data 0010 1110
akan disimpan pada lokasi memori 0001.
Dengan meneruskan langkah serupa di atas kita dapat memprogram memori dengan
kata-kata lain.
1.2.16 Alamat Heksadesimal
Selama komputer bekerja , CPU mengirimkan alamat-alamat biner kepada
memori, dimana operasi membaca atau menulis berlangsung. Kata-kata alamat ini
dapat mengandung 16-bit atau lebih. Walaupun demikian, kita tidak perlu dibebani
dengan deretan bilangan biner yang panjang ini. Kita dapat memotong deretan
panjang yang terdiri dari bit-bit 0 dan 1 itu menjadi deretan yang rapi dalam bilangan
heksadesimal.
Penggunaan bentuk heksadesimal ini merupakan suatu hal yang standar dalam
operasi mikroprossesor.
20
Mikrokomputer yang lazim memiliki sebuah bus alamat dengan 16 saluran
alamat.Kata-kata pada bus ini mempunyai format biner sebagai berikut:

ALAMAT = XXXX XXXX XXXX XXXX

Untuk memudahkan penulisan tersebut, kita dapat meringkasnya ke dalam bentuk
heksadesimal yang ekivalen. Misalnya, penulisan

ALAMAT = 0101 1110 0111 1100

Dapat diubah menjadi

ALAMAT = 5E7CH

16 saluran alamat tersebut dapat mengakses 2
16
lokasi memori, ekivalen dengan
65.536 kata. Alamat heksadesimal yang ekivalen adalah dari 0000H sampai FFFFH.
Dalam mikrokomputer dengan mikroprosesor 8-bit, setiap lokasi memori dapat
menyimpan 1 byte data. Gambar 2-7 menjelaskan visualisasi memori semacam itu.













Gambar 2.7 Tata letak memori

Lokasi memori yang pertama memiliki alamat 0000H, lokasi memori yang kedua
beralamat 0001H, lokasi memori yang ketiga beralamat 0002H, dan seterusnya.
Bila kita berpindah terus menuju ke lokasi memori yang lebih tinggi, akhirnya akan
sampai pada alamat FFFDH, FFFFH, dan FFFFH.
21
Perhatikan bahwa penyimpanan data 1 byte memerlukan satu lokasi memori. Ini
merupakan keadaan standar bagi komputer-komputer generasi pertama yang
menggunakan mikroprosesor 8-bit, seperti Z-80 dan 6502. Dengan kata lain,
mikrokomputer yang biasa mempunyai memori maksimum 64 K (1K=1024
byte).Tentu saja kapasitas memori bisa lebih kecil dari ini. Sebagai contoh,
mikrokomputer TRS-80 dari Radio Shack dibuat dengan ROM 16K dan RAM 4K.
Fasilitas ini dapat dikembangkan sampai kapasitas maksimum dengan ROM 16K dan
RAM 48K sehingga memori total menjadi 64K.

1.3 Penutup
Sebelum lanjut ke bab berikutnya, berilah tanda jika anda mampu menjawab
pertanyaan-pertanyaan di bawah ini dan tanda jika anda belum mampu menjawab
pertanyaan.
Mampukah anda menjelaskan perbedaan ROM dengan RAM ?
Dapatkah anda menjelaskan perbedaan ROM, PROM, dan EPROM?
Dapatkah anda menjelaskan perbedaan RAM statik, dinamik, dan RAM tiga
keadaan ?
Dapatkah anda menyebutkan jenis ROM dan RAM yang memiliki sifat
volatile dan nonvolatile?
Dapatkah anda menjelaskan fungsi pengkodean pada serpih memori ?
1.3.1 Soal-Soal Latihan
1) Berapakah jumlah lokasi memori yang dapat diakses oleh 14 bit alamat ?
2) IC 7418 adalah sebuah RAM static dengan keluaran tiga keadaan. Jelaskan
maksud keluaran tiga kedaan tersebut dan jelaskan tujuan jika IC tersebut
memiliki 4 jalur alamat?
3) Misalnya sebuah IC 2708 adalah sebuah EPROM 8.192 bit yang diorganisasi
sebagai memori 1.024 x 8. Berapakah jumlah alamat yang dimilikinya?
4) IC 8156 adalah sebuah RAM statik 2.048 bit dengan 256 kata masing-masing
terdiri dari 8 bit. Berapakh jumlah saluran alamat dari RAM ini?



22

















































23
BAB III
ARSITEKTUR MIKROPROSESOR
1.1 Pendahuluan
Bab ini mencakup masalah arsitektur mikroprosesor, yang memperlihatkan
hubungan antara satu bagian dengan bagian yang lain, seperti memori, input/output,
dan peripheral lainnya.
Gambar 3-1 memperlihatkan arsitektur mikroprosesor sederhana, sebuah komputer
berorganisasibus. Semua keluaran register menuju bus W merupakan saklar tiga
keadaan, yang memungkinkan transfer data secara teratur. Semua keluaran register
yang lain hanya memiliki dua keadaan : keluaran-keluaran ini secara kontinyu
menggerakkan kotak-kotak yang disambungkan kepadanya.

























Gambar 3.1 Arsitektur mikroprosesor sederhana
24

Susunan pada Gambar 3-1 menonjolkan fungsi register-register yang dipakai. Karena
itu, tidak ada usaha untuk menempatkan semua rangkaian pengendali dalam satu blok
yang disebut unit kendali, ataupun meletakkan semua rangkaian-rangkaian masukan-
keluaran didalam blok lain yang disebut unit I/O, dsb.
Kebanyakan register pada Gambar 3-1 sudah pernah dikenal dari contoh dan
pembahasan sebelumnya. Berikut ini adalah uraian singkat dari setiap kotak diagram,
dan penjelasan yang terinci akan diberikan kemudian.
1.2 Penyajian
1.2.1 Pencacah Program (Program Counter)
Program disimpan pada bagian awal dari memori dengan instruksi pertama
pada alamat biner 0000, instruksi kedua pada alamat 0001, instruksi ketiga pada
alamat 0010,dan seterusnya. Pencacah program, yang merupakan bagian dari unit
kendali, mencacah dari 0000 sampai 1111. tugasnya adalah mengirimkan ke memori
alamat dari instruksi berikutnya yang akan diambil dan dilaksanakan. Hal ini
dilaksanakan sebagai berikut.
Pencacah program direset ke 0000 setiap kali sebelum komputer dijalankan. Ketika
komputer mulai bekerja, pencacah program mengirimkan alamat 0000 ke memori.
Kemudian pencacah program meningkatkan angka cacahannya menjadi 0001. Setelah
instruksi pertama diambil dan dilaksanakan, pencacah program mengirimkan alamat
0001 ke memori. Pencacah program kembali meningkatkan angka cacahannya.
Sesudah instruksi kedua diambil dan dieksekusi, pencacah program mengirimkan
alamat 0010 ke memori. Dengan demikian pencacah program dapat menentukan
instrusi berikutnya yang akan diambil dan dilaksanakan.
Pencacah program disini dapat dibayangkan seperti seseorang yang memakai jarinya
untuk menunjuk pada suatu daftar instruksi, dengan menyebutkan bahwa instrusi ini
harus dilaksanakan pertama, itu kedua, itu ketiga, dan seterusnya. Itu sebabnya
mengapa pencacah program kadang-kadang disebut penunjuk (pointer). Pencacah itu
25
menunjuk kepada suatu alamat tertentu dalam memori yang menyimpan isi penting
pada alamat tersebut.
1.2.2 Masukan dan Memory Address Register (MAR)
Dibawah pencacah program adalah blok masukan dan MAR. Disini sudah
termasuk register saklar untuk alamat dan data seperti dibahas sebelumnya. Register-
register saklar ini, yang merupakan bagian dari unit masukan, memungkin
pengiriman 4 bit alamat dan 8 bit data kepada RAM. Ingatlah bahwa instruksi dan
data-data dituliskan kedalam RAM sebelum komputer bekerja.
Memori address register (MAR), artinya register alamat memori adalah bagian dari
memori. Selama komputer bekerja, alamat dalam pencacah program ditahan (latched)
pada MAR. Sejenak kemudian, MAR mengirimkan alamat 4 bit ini kedalam RAM,
dimana operasi membaca dilaksanakan.
Kotak RAM dalam Gambar 3.1 merupakan sebuah RAM TTL statik 16x8. Kita dapat
memprogram RAM dengan register saklar alamat dan register saklar data. Melalui
cara ini kita dapat memasukkan program dan data kedalam memori sebelum
komputer bekerja.
Selama komputer beroperasi, RAM menerima alamat 4 bit dari MAR dan operasi
membaca dilaksanakan. Dalam proses ini, instruksi dan kata data yang tersimpan
dalam RAM ditempatkan pada bus W untuk digunakan oleh beberapa bagian lain dari
komputer.

1.2.3 Register Instruksi
Register instruksi merupakan bagian dari unit kendali. Untuk mengambil
sebuah instruksi dari memori, komputer melakukan operasi membaca memori. Dalam
operasi ini isi dari lokasi memori yang ditunjuk alamatnya ditempatkan dalam bus W.
Pada waktu yang sama, register instruksi disiapkan untuk pengisian pada tepi positif
dari sinyal detak (clock) berikutnya.
Isi register instruksi dibagi menjadi dua nibble. Nibble bagian atas merupakan
keluaran dua keadaan yang langsung dikirimkan kepada blok pengendali pengurut.
26
Nibble bagian bawah adalah keluaran tiga keadaan yang dapat dibaca (ditempatkan)
pada bus W bilamana diperlukan.

1.2.4 Pengendali Pengurut
Blok terbawah dibagian kiri berisi pengendali pengurut (controller-sequencer)
sebelum komputer bekerja, sinyal-sinyal CLR dan CLR masing-masing dikirimkan
kepencacah perogram dan register instruksi. Sebagai akibatnya, pencacah program
direset ke 0000 dan bersamaan ini instruksi terakhir dalam register instruksi dihapus.
Sebuah sinyal detak CLK dikirimkan ke semua register buffer, sinyal ini
mensinkronkan operasi komputer, yang menjamin bahwa setiap langkah operasi akan
terjadi sebagaimana mestinya. Dengan kata lain, semua transfer dalam register terjadi
pada tepi positif dari sinyal detak CLK yang sama. Perhatikan bahwa sinyal CLK
juga memasuki pencacah program.
Data 12-bit yang berasal dari pengendali pengurut membentuk suatu kata
pengendalian komputer (seperti seorang pengawas yang memberitahu tentang apa
yang harus dikerjakan). 12 kawat yang menyalurkan kata kendali itu disebut bus
kendali (control bus).
Kata kendali mempunyai format sbb:
CON = C
P
E
P
L
M
CE L
1
E
1
L
A
E
A
S
U
E
U
L
B
L
O
Kata ini menentukan bagaimana register-register harus beraksi terhadap tepi positif
sinyal detak berikutnya. Misalnya, E
P
tinggi dan L
M
rendah berarti bahwa isi
pencacah program ditahan didalam MAR pada tepi positif berikutnya. Sebagai contoh
yang lain, CE dan L
A
yang rendah berarti kata RAM yang telah ditunjuk alamatnya
akan ditransfer ke akumulator pada tepi positif berikutnya dari lonceng. Kelak kita
akan mempelajari diagram pewaktuan yang bersangkutan untuk melihat tepatnya
kapan dan bagaimana transfer data ini dilakukan.



27
1.2.5 Akumulator
Akumulator (A) adalah sebuah register buffer yang menyimpan jawaban
sementara (tahap menengah/intermediate) selama komputer beroperasi. Dalam
Gambar 3-1 diperlihatkan bahwa akumulaor mempunyai dua macam keluaran.
Keluaran dua-keadaan secara langsung diteruskan kebagian penjumlah-pengurang.
Keluaran tiga- keadaan dikirimkan kepada bus W. Karena itu kata 8 bit dari
rangkaian penjumlah-pengurang, dan kata yang sama juga muncul pada bus W
bilamana E
A
tinggi.
1.2.5.1 Penjumlah Pengurang
Sebuah penjumlah-pengurang menggunakan komplemen-2. Bila S
U
berharga
rendah, maka keluaran jumlah dari penjumlah pengurang dalam Gambar 3-1
adalah:
S = A + B
Apabila S
U
tinggi, keluarannya berupa selisih
A = A + B
(ingat kembali bahwa komplemen-2 ekivalen dengan perubahan tanda dalam bilangan
desimal).
Rangkaian penjumlah-pengurang bersifat asinkron (tidak diatur oleh sinyal detak); ini
berarti isi keluarannya akan berubah bila terjadinya perubahan pada kata-kata
masukan. Bilamana E
U
tinggi, isi yang bersangkutan akan muncul pada bus W.
1.2.6 Register B
Register B adalah register bufer yang berbeda dengan register-register bufer
yang ada. Register ini digunakan dalam operasi aritmetik. Sinyal L
B
yang rendah dan
tepi positif dari sinyal detak akan mengisikan kata pada bus W kedalam register B.
Keluaran dua keadaan dari register B kemudian menggerakkan penjumlah
pengurang, memasukkan bilangan yang akan dijumlahkan dengan atau dikurangkan
dari isi akumulator.


28
1.2.7 Register Keluaran
Pada akhir operasi komputer, akumulator berisi jawaban dari persoalan yang
diselesaikan. Pada saat ini, kita perlu memindahkan jawaban yang bersangkutan ke
dunia luar. Untuk keperluan inilah register keluaran dipergunakan. Apabila E
A

tinggi dan L
o
rendah tepi positif sinyal detak berikutnya akan memasukkan kata dari
akumulator kedalam register keluaran.
Register keluaran sering disebut Bandar keluaran (output port) karena data yang telah
diproses dapat meninggalkan komputer melalui register ini. Dalam mikrokomputer,
Bandar-bandar keluaran dihubungan dengan rangkaian perantara (interface circuits)
yang menggerakkan alat-alat periferal seperti : printer, tabung sinar katoda (CRT),
teletypewriter, dan sebagainya. (Rangkaian perantara menyiapkan data untuk
menggerakkan setiap alat).

1.2.8 Peraga Biner
Peraga biner adalah suatu barisan yang terdiri dari sebuah LED. Oleh karena
setiap LED dihubungkan dengan sebuah flip-flop dari Bandar keluaran, maka peraga
biner akan menyajikan isi Bandar keluaran. Dengan demikian, setelah kita
memindahkan satu jawaban dari akumulator kebandar keluaran, kita dapat melihat
jawaban itu dalam bentuk biner.

1.2.9 Perangkat Instruksi
Komputer merupakan timbunan perangkat keras yang tak berguna sebelum
diprogram operasinya. Ini berarti bahwa sebelum operasi komputer dimulai,
instruksi-instrusi harus dimasukkan langkah demi langkah kedalam memori.
Sebelum dapat memprogram sebuah komputer, kita harus mempelajari terlebih
dahulu perangkat instruksi (instruction set) dari komputer yang bersangkutan, yaitu
operasi-operasi dasar yang dapat dilaksanakan. Perangkat instruksi ini adalah sebagai
berikut :

29
LDA (LOAD THE ACUMULATOR)
Sebagaimana telah disebutkan kata-kata dalam memori dapat diberi lambang R
0,
R
1,
R
2,
dan seterusnya. Artinya, R
0
disimpan pada alamat 0H, R
1
disimpan pada
alamat 1H, R
2
disimpan pada alamat 2H dan seterusnya.
LDA merupakan singkatan dari load the akumulator (artinya =isilah
akumulator). Instruksi LDA yang lengkap mengandung alamat heksadesimal dari
data yang hendak di isikan . Sebagai contoh : LDA 8H, artinya : Isilah
akumulator dengan isi dari lokasi memori 8H.
Umpamanya:
R
8
= 1111 0000
Maka eksekusi instruksi LDA 8H menghasilkan :
A = 1111 0000
Begitu pula LDA FH berarti : isilah akumulator dengan isi dari lokasi memori A
FH, dan sebagainya.

ADD
ADDadalah instruksi lain dari dari SAP-1. Instruksi ADD yang lengkap
mengandung alamat dari kata yang hendak ditambahkan. Misalnya, ADD 9H
berarti tambahkan isi dari lokasi memori 9H pada isi akumulator., hasil
penjumlahan ini akan menggantikan isi akumulator semula.
Ikutilah contoh berikut ini. Kita umpamakan dalam akumulator tersimpan
bilangan desial 2, dan bilangan 3 desimal menempati lokasi memori 9H. Maka:
A = 0000 0010
R
9
= 0000 0011
Selama pelaksanaan instruksi ADD 9H akan berlangsung operasi sebagai berikut.
Pertama, R
9
disisikan kedalam register B sehingga :
B = 0000 0011
Dan pada waktu bersamaan , bagian penjumlah-pengurangan melakukan
penjumlahan dari A dan B, menghasilkan jumlah
30
SUM = 0000 0101
Kedua, hasil jumlahan ini diisikan kedalam akumulator, sehingga
A = 0000 0101
Urutan langkah operasi diatas digunakan untuk semua instruksi ADD; kata RAM
yang dialamatkan akan masuk kedalam register B dan keluaran dari penjumlah
pengurang memasuki akumulator. Dengan demikian, eksekusi instruksi ADD 9H
adalah operasi menambahkan R
9
pada isi akumulator, dan eksekusi instruksi
ADD H berupa operasi menambahkan R
F
pada isi akumulator, dan sebagainya.

SUB
Instruksi SAP-1 yang lain lagi adalah SUB. Instruksi SUB yang lengkapdisertai
alamat dari kata yang hendak dikurangkan. Sebagai contoh, SUB CH berarti
kurangkan isi lokasi memori CH dari isi akumulator , jawaban selisih yang
diberikan oleh bagian penjumlah pengurang kemudian menggantikan isi
akumulator semula.
Sebagai contoh yang konkret, misalkan isi akumulator adalah angka desimal 7
dan lokasi memori CH berisi bilangan desimal 3. maka
A = 0000 0111
R
C
= 0000 0011

Pelaksanaan instruksi SUB CH berlangsung sebagai berikut: Pertama, R
C
diisikan
kedalam register B untuk memperoleh:
B = 0000 0011
Pada waktu hampir bersamaan, begian penjumlah- pengurang melakukan operasi
pengurangan dari A dan B dan menghasilkan selisih:
DIFF = 0000 0100
Kedua, hasil pengurangan ini disimpan dalam akumulator, sehingga isinya
menjadi
A = 0000 0100
31
Urutan langkah operasi seperti diatas dipakai oleh semua instruksi SUB; kata
RAM yang di alamatkan akan masuk ke register B dan keluaran dari penjumlah-
pengurang masuk kedalam akumulator. Jadi, eksekusi dari instruksi SUB CH
adalah mengurangkan R
C
dari isi akumulator, eksekusi dari instruksi SUB EH
adalah mengurangkan R
E
dari isi akumulator, dan demikian seterusnya.

OUT
Instruksi OUT memberitahu kepada komputer SAP-1 untuk memindahkan isi
akumulator ke Bandar keluaran. Sesudah instruksi OUT dilaksanakan, kita dapat
melihat jawaban dari persoalan yang sedang diselesaikan.
Instruksi OUT ini sudah dalam bentuk yang lengkap, kita tidak perlu menyebutkan
alamat tertentu dalam menggunakan OUT sebab instruksi ini tidak berhubungan
dengan data didalam memori.

HLT
HLT adalah singkatan dari halt (berhenti). Instruksi ini memberitahu kepada
komputer untuk berhenti memproses data. HLT menandai akhir suatu program,
serupa dengan tanda titik diakhir sebuah kalimat. Kita harus menggunakan
instruksi HLT pada akhir setiap program SAP-1; jika tidak kita akan mendapatkan
sampah komputer (jawaban yang tak memiliki arti disebabkan proses yang lepas
kendali).
Instruksi HLT sudah merupakan bentuk instruksi yang lengkap; kita tidak perlu
menyertakan kata RAM bilamana menggunakan HLT, sebab instruksi tersebut
tidak melibatkan memori.
Instruksi-instruksi LDA, ADD, dan SUB disebut instruksi-instruksi rujukan memori
(memory reference instructions). Karena semua instruksi yang bersangkutan
menggunakan data yang tersimpan dalam memori OUT dan HLT, dipihak lain, bukan
instruksi-instruksi rujukan memori karena mereka tidak melibatkan data yang ada
didalam memori.
32
1.2.10 Pemrograman
Untuk memasukkan instruksi dan kata-data ke dalam memori SAP-1 kita
harus menggunakan kode tertentu yang dapat ditafsirkan oleh komputer. Tabel 10-2
memperlihatkan kode yang di pakai dalam SAP-1. Bilangan 0000 mewakili LDH,
0001 untuk ADD, 0010 untuk SUB, 1110 untuk OUT, dan 1111 untuk HLT. Karena
kode - kode ini memberitahu kepada komputer tentang operasi yang harus
dilaksanakan, maka kode yang bersangkutan di sebut kode operasi (operation code),
disingkat op code. Seperti telah dibahas sebelumnya, saklar-saklar alamat dan data
dari gambar 9-7 memungkinkan pemrograman memori SAP-1. Berdasarkan
rancangan rangkaian , saklar-saklar tersebut meghasilkan logika 1 untuk posisi keatas
(U) dan logika 0 untuk posisi ke bawah (D). Dalam pemrograman saklar data
dilaksanakan dengan suatu instruksi, kode operasi akan diberikan sebagai nibble
bagian atas, dan operand (pelengkap instruksi) sebagai nibble bagian bawah.
Sebagai contoh, misalkan kita akan menyimpan instruksi sebagai berikut:
Alamat Instruksi
0H LDA FH
1H ADD EH
2H HLT
Pertama, ubahlah setiap instruksi kedalam bentuk biner:
LDA FH = 0000 1111
ADD EH = 0001 1110
HLT = 1111 XXXX
Dalam instruksi pertama, 0000 adalah kode operasi untuk LDA, dan 1111 adalah
ekivalen biner dari FH. Dalam instruksi kedua, 0001 adalah kode operasi untuk ADD
dan 1110 adalah ekivalen biner dari EH. Dalam instruksi ketiga, 1111 adalah kode
operasi untuk HLT, dan XX adalah nibble yang tak diperdulikan karena HLT bukan
instruksi rujukan memori.
Selanjutnya, susunlah saklar-saklar alamat dan data sebagai berikut;
Alamat Data
DDDD DDDD UUUU
DDDU DDDU UUUD
DDUD UUUU XXXX
33
Setiap kali setelah selesai menyusun suatu alamat dan kata-data, tekanlah tombol
tulis (write) karena D menyimpan binner 0 dan U menyimpan biner 1, tiga lokasi
memori yang pertama sekarang mempunyai isi :
Alamat Data
0000 0000 1111
0001 0001 1110
0010 1111 XXXX
Suatu hal lagi yang perlu diketahui dalam penyusunan program bahwa bahasa
asembli (assembly language) menyangkut tata cara penulisan program dengan
bilangan 0 dan 1 . Contoh yang berikut, akan memperjelas perbedaan antara kedua
bahasa tersebut.
1.2.11 Siklus Pengambilan (Fetch Cycle)
Unit kendali adalah kunci dari pengoperasian komputer secara otomatik. Unit
kendali membangkitkan atau mengeluarkan kata-kata kendali untuk mengambil dan
melaksanakan setiap instruksi. Pada waktu suatu instruksi diambil dan dilaksanakan,
komputer akan melewati beberapa keadaan pewaktuan (timing state; disingkat T state
= keadaan T), yaitu perioda-perioda waktu pada saat mana terjadi perubahan isi-isi
register. Berikut ini akan kita pelajari lebih lanjut arti keadaan T tersebut.
1.2.11.1 Pencacah Putar
Gambar 3-2a melukiskan simbol pencacah lingkar dengan keluaran.
T = T
6
T
5
T
4
T
3
T
2
T
1
Pada permulaan operasi komputer kata lingkar T menunjukkan
T = 000001
Pulsa detak yang berturut-turut menghasilkan kata-kata lingkar :
T = 000010
T = 000100
T = 001000
T = 010000
T = 100000
Kemudian pencacah lingkar direset menjadi 000001, dan siklus yang sama akan
berulang setiap kata lingkar merepresentasikan satu keadaan T.

34














Gambar 3-2 Pencacah putar ; (a) simbol (b) sinyal clok
Gambar 3-2b memperlihatkan pulsa-pulsa pewaktuan yang dikeluarkan oleh
pencacah lingkar. Keadaan T, berawal pada suatu tepi negatif pulsa detak dan
berakhir pada tepi negatif yang berikutnya. Selama keadaan T ini, bit keluaran T dari
pencacah lingkar merupakan tingkat logika tinggi.
Keadaan-keadaan T yang selanjutnya berturut-turut adalah T
2
tinggi, disusul T
3
tinggi, kemudian T
4
tinggi, dan seterusnya. Sebagaimana dapat kita lihat, pencacah
putar menghasilkan enam keadaan T. Setiap instruksi diambil dan dilaksanakan
selama enam keadaan T ini.
1.2.11.2 Keadaan Alamat
Keadaan T
1
, disebut keadaan alamat (address state), karena alamat didalam
pencacah program (PC) dipindahkan kepada register register alamat memori (MAR)
selama keadaan ini. Gambar 3-3a memperlihatkan bagian-bagian komputer yang aktif
selama keadaan T
1
(bagian aktif digambarkan terang, dan bagian tidak aktif gelap).
35
Selama keadaan alamat, E
P
dan L
M
merupakan bit-bit yang aktif; sedangkan semua bit
kendali yang lain tidak aktif. Ini berarti selama keadaan bagian pengendali pengurut
(CON) mengeluarkan kata kendali berbentuk
CON = C
P
E
P
L
M
CE L
I
E
I
L
A
E
A
S
U
E
U
L
B
L
O
= 0 1 0 1 1 1 1 0 0 0 1 1
selama keadaan ini.
1.2.11.3 Keadaan Penambahan
Gambar 3-3b memperlihatkan bagian-bagian aktif dari SAP-1 selama keadaan
T
2
. Keadaan ini disebut keadaan penambah (increment state) karena hitungan pada
pencacah program ditingkatkan (ditambah) selama periode ini. Selama keadaan
penambahan, bagian pengendali-pengurut menghasilkan sebuah kata-kendali
berbentuk
CON = C
P
E
P
L
M
CE L
I
E
I
L
A
E
A
S
U
E
U
L
B
L
O
= 1 0 1 1 1 1 1 0 0 0 1 1

terlihat disini bahwa C
p
adalah bit yang aktif.








Gambar 3-3 Siklus pengambilan (a) Keadaan T
1
(b) Keadaan T
2
(c) Keadaan T
3

1.2.11.4 Keadaan Memori
Keadaan T
3
disebut keadaan memori (memory state) karena instruksi pada
RAM dengan alamat yang ditunjuk dipindahkan dari memori ke register instruksi.
Gambar 10-3c melukiskan bagian-bagian aktif dari SAP-1 selama keadaan memori
36
ini. Selama keadaan ini bit-bit kendali yang aktif hanyalah CE dan L
1
, dan kata yang
dikeluarkan oleh bagian pengendali pengurut adalah
CON = C
P
E
P
L
M
CE L
I
E
I
L
A
E
A
S
U
E
U
L
B
L
O

= 0 0 1 0 0 1 1 0 0 0 1 1

1.2.12 Siklus Pengambilan
Keadaan-keadaan alamat, penambahan, dan memori disebut siklus
pengambilan/penjemputan (fetch cycle) dari SAP-1. Selama keadaan alamat, E
p
dan
L
M
aktif ini berarti pencacah program mengaktifkan MAR melalui bus W. Dalam
gambar 10-2b, tepi positif sinyal detak muncul pada pertengahan keadaan alamat;
peristiwa ini digunakan untuk mengisi MAR dengan isi PC.
C
p
adalah satu-satunya bit kendali yang aktif selama keadaan penambahan. Pencacah
program diaktifkan guna mencacah tepi positif pulsa detak. Dipertengahan keadaan
penambahan, tepi positif sinyal detak diterima pencacah program dan ini
meningkatkan cacahan dengan 1 angka.
Dalam keadaan memori, bit-bit CE dan L
I
yang aktif. Dengan ini, kata RAM dengan
alamat yang ditentukan mengaktifkan register instruksi bus W. Pada pertengahan
keadaan memori, sebuah tepi positif sinyal detak akan mengisi register instruksi
dengan kata RAM tadi.

1.2.13 Siklus Eksekusi (Pelaksanaan)
Tiga keadaan berikutnya (T
4,
T
5,
dan T
6
) merupakan siklus eksekusi dari SAP-
1. transfer-transfer register yang terjadi selama siklus eksekusi bergantung pada
macam instruksi yang sedang dieksekusi. Misalnya, LDA 9H memerlukan operasi
transfer register yang berbeda dari ADD BH. Apa yang diuraikan berikut ini adalah
rutin kendali (control routine), artinya rangkaian langkah kendali bagi instruksi-
instruksi SAP-1 yang berbeda.



37
1.2.14 Rutin LDA
Demi kejelasan pembahasan, kita mengandaikan bahwa register instruksi (IR)
telah diisi dengan instruksi LDA 9H:
IR = 0000 1001
Selama keadaan T
4
, medan instruksi 0000 dikirim ke dalam pengendali pengurut
yang melakukan pengkodean; sedangkan medan alamat 1001 diisikan kedalam MAR.
Gambar 10-4a memperlihatkan bagian-bagian yang aktif dari SAP-1 selama keadaan
T
4
. Perlu dicatat bahwa E
1
dan L
M
1
adalah bit-bit yang aktif ; dan bit-bit kendali yang
lain tidak aktif.
Selama keadaan T
5
, bit-bit CE dan L
A
menjadi tinggi. Ini berarti kata data yang telah
dialamatkan dalam memori akan diisikan kedalam akumulator pada tepi positif pulsa
detak yang berikutnya (lihat gambar 10-4b).












Gambar 3.4 Rutin LDA (a) keadaan T
4
(b) keadaan T
5
(c) keadaan T
6

T
6
adalah keadaan tanpa operasi (no-operation; disingkat Nop). Selama keadaan
eksekusi yang ketiga ini semua register dalam kondisi tidak aktif (gambar 10-4c). Ini
berarti bahwa bagian pengendali pengurut mengeluarkan kata dengan bit-bit yang
bersesuaian dengan keadaan tidak aktif. Keadaan T
6
dari rutin LDA adalah keadaan
Nop.
Gambar 3-5 memperlihatkan diagram pewaktuan untuk rutin pengambilan dan rutin
LDA. Selama keadaan T
1
, E
p,
dan L
M
menjadi aktif; dan tepi positif detak pada
38
pertengahan keadaan ini akan memindahkan alamat kedalam pencacah program
kedalam MAR. Selama keadaan T
2
, C
p
yang aktif dan hitungan pada pencacahan
program dinaikkan pada waktu tibanya tepi positif. Selama keadaan T
3,
CE, dan L
I

yang aktif; ketika muncul tepi positif dari sinyal pewaktu, kata RAM yang ditunjuk
alamatnya dipindahkan ke register instruksi. Eksekusi LDA dimulai dengan keadaan
T
4
, dimana L
M
dan E
I
yang aktif. Pada tepi positif detak, medan alamat dalam register
instruksi dipindahkan ke MAR. Selama keadaan T
5
, CE, dan L
A
menjadi aktif; ini
berarti kata data RAM dengan alamat yang ditentukan itu ditransfer kepada
akumulator pada tepi positif detak. Sebagai mana diketahui, keadaan T
6
dari rutin
LDA adalah keadaan nop.


















Gambar 3-5 Diagram pewaktuan siklus pengambilan dan LDA







39
1.2.15 Rutin ADD
Umpamakan bahwa pada akhir siklus pengambilan register instruksi berisi
kata ADD BH
IR = 0001 1011
Selama keadaan T
4
, medan instruksi memasuki pengendalipengurut dan medan
alamat berpindah ke MAR (lihat gambar 3-6a). Dalam keadaan ini E
I
dan L
M
yang
aktif.
Bit-bit kendaki CE dan L
B
menjadi aktif selama keadaan T
5.
Ini memungkinkan kata
RAM yang telah ditunjuk alamatnya itu untuk mempersiapkan register B (gambar 3-
6b). Seperti biasa, pengisian terjadi pada pertengahan keadaan ketika tepi positif
detak memasuki saluran CLK dari register B.
Selama keadaan T
6
, E
u
, dan L
A
yang menjadi aktif. Dengan ini, Bagian penjumlah
pengurang (A
dd
/ sub) mempersiapkan akumulator (lihat gambar 10-6c). Pada
pertengahan keadaan ini , tepi positif detak mengisikan hasil jumlahan kedalam
akumulator.







Gambar 3-6 Rutin ADD dan SUB: (a) keadaan T
4
(b) keadaan T
5
(c) keadaan T
6
Kebetulan, waktu siap (set up time) dan waktu tunda propagasi dalam rangkaian
mempunyai harga yang tepat mencegah terjadinya keadaan pacu pada akumulator
selama keadaan eksekusi terakhir. Bilamana tepi positif sinyal detak muncul dalam
keadaan Gambar 3-6c, maka isi akumulator akan berubah dan menyebabkan isi
penjumlah-pengurang mengalami perubahan pula. Isi yang baru ini akan beredar
kembali kemasukan akumulator , akan tetapi isi itu tidak akan tiba disana sebelum
40
berlalunya dua kali waktu tunda propagasi sesudah munculnya tepi positif dari pulsa
detak (satu waktu tunda propagasi pada akumulator dan satu lagi terjadi pada
penjumlah pengurang). Saat tibanya isi baru itu sudah terlalu terlambat untuk
mempersiapkan akumulator. Akibatnya, akumulator terhindar dari keadaan pacu
(yaitu pengisian lebih dari sekali pada tepi pulsa detak yang sama).
Gambar 3-7 memperlihatkan diagram pewaktuan untuk siklus pengambilan dan rutin
ADD. Rutin pengambilan ini serupa dengan yang telah dibahas sebelumnya; keadaan
T
I
mengisikan alamat PC kedalam MAR; keadaan T
2
menaikkan hitungan pencacah
program; keadaan T
3
mengirimkan instruksi dari lokasi memori tertentu menuju ke
register instruksi.
Selama keadaan T
4
, E
1
dan L
M
menjadi aktif. Pada tepi positif pulsa detak berikutnya
medan alamat didalam register instruksi berpindah ke MAR. Selam keadaan T
5
, CE,
dan L
B
yang aktif. Oleh karena itu, kata RAM yang dialamatkan itu, di isikan
kedalam register B dipertengahan keadaan itu. Selama keadaan T
6
, E
U
, dan L
A

menjadi aktif, dan pada waktu tibanya tepi positif, hasil jumlahan dari penjumlah
pengurang disimpan kedalam akumulator.











Gambar 3-7 Diagram pewaktuan siklus pengambilan dan ADD

41
1.2.16 Rutin SUB
Rutin SUB serupa dengan rutin ADD. Gambar 3-6a dan b melukiskan bagian-
bagian yang aktif dari SAP-1 selama keadaan T
4
dan T
5
. Selama keadaan T
6
, S
u
yang
tinggi disalurkan kepada bagian penjumlah-pengurang dari Gambar 3-6c. Diagram
pewaktuan yang bersangkutan hampir identik dengan gambar 3-7. Bayangkan bahwa
S
u
rendah selama T
1
sampai T
5
dan S
u
menjadi tinggi selama keadaan T
6.

1.2.17 Rutin OUT
Andaikan bahwa register instruksi berisi instruksi OUT pada akhir sebuah
siklus pengambilan. Maka :
IR = 1110 XXXX
Medan instruksi akan memasuki pengendali pengurut guna pengkodeannya.
Kemudian pengendali-pengurut mengeluarkan kata-kendali yang diperlukan untuk
memindahkan isi akumulator ke register keluaran.
Gambar 3-8 memperlihatkan bagian-bagian aktif dari SAP-1 selama eksekusi sebuah
instruksi OUT. Sehubungan dengan E
A
dan L
0
yang aktif, tepi positif berikutnya dari
sinyal detak akan memindahkan isi akumulator ke register keluaran selama keadaan
T
4
. Pada keadaan T
5
dan T
6
tidak terjadi operasi (nop).






Gambar 3-8 Keadaan T
4
dari instruksi OUT
Dalam gambar 3-9 ditunjukkan diagram pewaktuan untuk rutin pengambilan dan
rutin OUT. Sekali lagi, siklus pengambilannya sama : keadaan alamat, keadaan
penambahan, dan keadaan memori. Selama keadaan T
4,
E
A
, dan L
0
aktif; dan kata
akumulator dipindahkan ke register keluaran pada waktu tibanya tepi positif dari
pulsa detak.
42
1.2.18 HLT
Instruksi HLT tidak membutuhkan rutin kendali karena tidak sebuahpun
register yang terlihat dalam eksekusi instruksi bersangkutan . Bilamana IR berisi:
IR = 1111 XXXX
Medan instruksi 1111 akan memberitahu pengendali-pengurut untuk menghentikan
pemrosesan data. Pengendali-pengurut memberhantikan operasi komputer dengan
menghentikan detak (rangkaian akan di bahas kemudian).













Gambar 3-9 Diagram pewaktuan untuk siklus pengambilan dari rutin OUT








43
1.3 Penutup
Sebelum lanjut ke bab berikutnya, berilah tanda jika anda mampu menjawab
pertanyaan-pertanyaan di bawah ini dan tanda jika anda belum mampu menjawab
pertanyaan.

Mampukah anda menjelaskan fungsi pencacah program (program counter) ?
Dapatkah anda menjelaskan tugas memory address register (MAR)?
Dapatkah anda menjelaskan perbedaan akumulator, register B, dan register
keluaran?
Dapatkah anda menyebutkan 4 instruksi yang berhubungan langsung dengan
akumulator?
Dapatkah anda menjelaskan perbedaan antara Mnemonik dengan op-code?

1.3.1 Soal-Soal Latihan
1) Tuliskan sebuah program dengan menggunakan mnemonik yang akan
menyajikan hasil dari operasi :
5+4-6
2) Tuliskan sebuah program bahasa asembli untuk laksanakan operasi :
8 + 4 3 + 5 2
3) Jelaskan perbedaan antara 1 siklus instruksi dengan 1 siklus mesin ?

Anda mungkin juga menyukai