Mikroprocessor

Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Anda di halaman 1dari 196

Pertemuan 1

PENDAHULUAN
Kontrak Perkuliahan #1

Kode Mata Kuliah : 337


Nama Mata Kuliah : Mikroprocessor
Beban Kredit : 4 SKS
Semester : 4 (empat)
Fakultas/Jurusan : Teknik Komputer
Kontrak Perkuliahan #2
TUJUAN
• Mahasiswa mampu mengenali dan mengetahui
teori, konsep, istilah-istilah dasar dan elemen-
elemen mikroprosesor
• Mahasiswa mampu memahami teori, konsep,
istilah dan elemen-elemen mikroprosesor
• Mahasiswa mampu mengidentifikasi bentuk-
bentuk dari mikroprosesor.
Kontrak Perkuliahan #3
Pertemuan Ke- Pokok Bahasan
1 Perkembangan Mikroprosesor
2 Sistem Komputer Berbasiskan Mikroprosesor
3 Format Data Komputer
4 Arsitektur Internal Mikroprosesor
5 Model Pengalamatan
6 Spesifikasi perangkat keras 8086/8088
7 Review Materi – Quiz
8 Ujian Tengah Semester (UTS)
9 Peranti memori
10 Dasar antarmuka I/O
11 Interupsi (Interrupt)
12 Direct Memory Access (DMA)
13 Koprosesor Aritmatika 80x87
14 Antarmuka Bus
15 Review Materi-Quiz
16 Ujian Akhir Semester (UAS)
Referensi
• Brey, Berry. 2002. Mikroprosesor Intel, Edisi Kelima, Jilid
1. Penerbit Erlangga. Jakarta.
• Brey, Berry. 2002. Mikroprosesor Intel, Edisi Kelima, Jilid
2. Penerbit Erlangga. Jakarta.
• Eko Putra, Agfianto. 2002, Teknik Antarmuka Komputer :
Konsep Dan Aplikasi, Graha Ilmu, Yogyakarta.
PERKEMBANGAN MIKROPROSESOR
DEFINISI

• Sebuah mikroprosesor (disingkat µp atau up) adalah

sebuah central processing unit (CPU) elektronik

komputer yang terbuat dari transistor dan komponen

lainnya di atas sebuah

• Sirkuit terintegrasi semikonduktor


FUNGSI

Tugas utama mikroprosesor adalah :

1. Memindahkan data antara memori dan piranti lainnya

2. Menjalankan operasi aritmatika dan logika (Tabel 1-1)‫‏‬

3. Menentukan aliran program melalui keputusan


sederhana (Tabel 1-2).

4. Keputusan sederhana ini akan tersimpan dalam bentuk


sebuah Flag Bit.
Tabel 1-1
Operasi aritmatika dan logika sederhana

OPERASI KETERANGAN
Penambahan
Pengurangan
Perkalian
Pembagian
AND Perkalian logika
OR Penjumlahan logika
NOT Inversi logika
NEG Inversi aritmatika
Shift Pergeseran logika
Rotate Perputaran logika
Tabel 1-2.
Keputusan dalam mikroprosesor

Operasi Keterangan

Zerro Uji apakah bilangan nol atau bukan nol

Sign Uji apakah bilangan negatif atau positif


Uji apakah ada carry setelah penjumlahan atau
Carry
borrow setelah pengurangan
Uji bilangan untuk jumlah bit 1, apakah genap atau
Parity
ganjil
Overflow Uji apakah hasil operasi melebihi kapasitas mesin
PERKEMBANGAN MIKROPROSESOR

Mikroprosesor 4 bit
1. Intel 4004 Merupakan mikroprosesor 4 bit pertama dari
keluarga Intel
2. Hanya mengalamatkan 4096 lokasi memori 4 bit.
3. Memiliki 45 set instruksi
4. Kecepatan 50 KIPs (Kilo Instructions per second)
5. Dibuat dengan teknologi P-channel MOSFET.
6. Digunakan untuk video games, sistem kontrol kecil
berbasiskan mikroprosesor serta kalkulator.
Gambar 1-1.
Memori pada Mikroprosesor Intel 4004

Terdapat 4096 lokasi


4096 = 4x1024
= 22x210
= 212

Ingat !!!
bit = binery digit
1 Byte = 8 bit
1 Kbit = 210 bit = 1024 bit
1 Mbit = 220 bit
1 Gbit = 230 bit
1 Tbit = 240 bit
Mikroprosesor 8 bit

Menyadari bahwa mikroprosesor merupakan produk


berkembang yang memiliki nilai komersial, maka Intel
mengembangkan mikroprosesornya untuk versi 8 bit, yaitu :
1. Intel 8008 (tahun 1971)‫‏‬
2. Intel 8080 (tahun 1973)‫‏‬
3. Intel 8085 (tahun 1977)‫‏‬
Pada saat yang bersamaan perusahaan-perusahaan lainnya
juga mengeluarkan mikroprosesor 8 bit versi mereka (Tabel
1-3)‫‏‬
Tabel 1-3
Mikroprosesor 8 Bit pertama

Perusahaan Nomor Modul

Fairchild F-8
Intel 8080
MOS Technoogy 6502
Motorola MC6800
National Semiconductor IMP-8
Rockwell International PPS-8
Zilog Z-8
Mikroprosesor 16 bit

Mikroprosesor 16 bit berkembang akibat kebutuhan memori


yang lebih besar.

Berikut ini adalah mikroprosesor 16 bit dari keluarga Intel :

1. Intel 8086 (tahun 1978)‫‏‬

2. Intel 8088 (tahun 1979)‫‏‬

3. Intel 80286 (tahun 1983)‫‏‬

Ketenaraan keluarga Intel melambung pada tahun 1981,


ketika IBM menggunakan 8088 dalan komputer pribadinya.
Ciri-ciri mikroprosesor 16 bit keluarga Intel :

1. Dapat mengeksekusi instruksi dalam waktu 400 ns (2,5


MIPs atau 2,5 juta instruksi per detik)‫‏‬

2. Mengalokasikan memori sebesar 1 MByte), kecuali Intel


80286 mengalokasikan memori sebesar 16 MByte.

3. Jumlah instruksi yang semakin banyak dan kompleks


(lebih dari 20.000), sehingga komputer ini disebut juga
dengan Complex Inststruction Set Computer (CISC)
Mikroprosesor 32 bit

Perkembangan software aplikasi mulai memerlukan kecepat-


an mikroprosesor yang lebih tinggi. Untuk itu, Intel mengem-
bangkan lagi mikroprosesor 32 bit, yaitu :
1. Intel 80386 (tahun 1986)‫‏‬
80386 adalah mikroprosesor fungsional 32 bit pertama Intel yang
mengandung data bus 32 bit dan alamat memori 32 bit. Melalui
bus alamat 32 bit ini, 80386 mampu meng-alamati memori
sebesar 4 MByte (232=230x 22=4G, 1 Giga = 230)‫‏‬
2. Intel 80486 (tahun 1989)‫‏‬
Intel 80486 merupakan gabungan dari 80386 sebagai mikro-
prosesor dan 80387 sebagai numeric coprocessor serta 8 KByte
cache memory system dalam satu paket terpadu.
Mikroprosesor 64 bit

Pada tahun 1993, Intel meluncurkan prosesor 64 bit yang


diberi label P5 atau 80586.
Namun Intel memutuskan untuk tidak menggunakan label
nomor karena sulit untuk memetakan angka yang terlalu
banyak, sehingga Intel mengganti nama prosesornya
dengan Pentium.
Pentium memiliki teknologi superscalar, yaitu memiliki dua
prosesor integer internal bebas sehingga dapat
mengeksekusi dua instruksi, yang tidak saling
tergantung, secara simultan.
Tabel 1-4
Prosesor Keluarga Intel

Modul Lebar Bus Data Ukuran Memori


8085 8 64 K
8086 16 1M
8088 8 1M
80286 16 16 M
80386 32 4G
80486 32 4 G + 8 K cache
Pentium 64 4 G + 16 K cache
Mari kita diskusikan …..

• Apa yang menyebabkan sebuah prosesor dikatakan


sebagai “prosesor 16 bit” ?

• Apakah prosesor 16 bit harus memiliki bus data 16 bit


juga ?

• Sebuah memori mempunyai kapasitas 1 MByte, Berapa


range alamat yang dimilikinya ? Berapa lebar bus alamat
yang dibutuhkan oleh memori tersebut agar dapat
menjangkau seluruh lokasi-nya ?
Pertemuan 2

SISTEM KOMPUTER
BERBASISKAN
MIKROPROSESOR
Gambar 2-1
Blok diagram dari sistem komputer pribadi
berbasiskan mikroprosesor
Memori dan Sistem I/O

Struktur memori dari semua sistem komputer pribadi


berbasiskan mikroprosesor Intel 80XXX sampai pentium II
adalah sama.

Sistem memori dibagi atas tiga bagian utama, yaitu :


1. Transient Program Area (TPA)
2. System Area
3. Extended Memory System (XMS)
Gambar 2-2.
Peta memori sebuah PC
Transien Program Area (TPA)

• TPA berisikan sistem operasi DOS (Disk Operating


System) dan program lainnya yang mengontrol sistem
komputer.

• Panjang TPA adalah 640 KB.

• Sebagian besar area TPA digunakan untuk sistem


program, data dan driver.
Gambar 2-3.
Peta Memori TPA pada sebuah PC
Vektor Interrupt berisi tabel vektor pelayanan interupsi,
yang akan mengakses berbagai fitur DOS, BIOS dan
aplikasi.

BIOS (Basic Input Output System) adalah sekumpulan


program yang tersimpan, baik pada ROM maupun memori
flash yang akan mengoperasikan berbagai macam peralatan
I/O yang terhubung dengan sistem komputer.

Area sistem BIOS dan komunikasi DOS berisi data


transien yang digunakan oleh program untuk mengakses
peralatan-peralatan I/O dan berbagai fitur yang terdapat
dalam komputer.

IO.SYS adalah sebuah program yang dimasukkan ke TPA


dari disk saat DOS dimulai. Program tersebut menghubung-
kan DOS dengan BIOS sehingga memampukan DOS
menggunakan peralatan I/O.
Driver adalah program yang mengontrol peralatan-peralatan
I/O yang dapat diinstal, seperti mouse cache disk, hand
scanner, memori CD-ROM (Compact Disc Read Only
Memory) dan DVD (Digital Versatile Disc)

COMMAND.COM (prosesor perintah) adalah program yang


mengontrol operasi komputer dari keyboard. Program ini
akan memroses perintah-perintah DOS yang diketikkan
lewat keyboard. Jika program ini dihapus, maka keyboard
tidak dapat digunakan.

Daerah TPA bebas menampung aplikasi selama mereka


dijalankan.
System Area

Area sistem berisi program dari ROM atau memori flash


serta area memori baca/tulis RAM untuk penyimpanan
data. (Gambar 2-4)
Area pertama dari system area berisi RAM video display
dan pengontrol ROM atau memori flash. Area ini umumnya
dimulai dari lokasi A0000H sampai C7FFFH. Ukuran dan
jumlah memori yang digunakan tergantung dari tipe
adapter tampilan video yang dipakai sistem.
Area kedua pada lokasi C8000H-DFFFFH sering terbuka
atau bebas.
Gambar 2-4.
Area Sistem dari sebuah PC standar
Lokasi memori E0000H-EFFFFH berisikan bahasa basic
dalam ROM pada sistem PC IBM generasi terdahulu. Dalam
sistem yang lebih baru, area ini sering di back fill dengan
ekstra RAM (Upper Memory Block).

Area puncak pada lokasi F0000H-FFFFFH berisi sistem ROM


BIOS (Basic Input Output System). Program BIOS yang
tersimpan di dalam ROM ini mengontrol operasi piranti-piranti
I/O dasar.
RUANG I/O

Ruang I/O dalam sebuah sistem komputer membentang dari


port 0000h sampai FFFFh. Ruang I/O ini membuat komputer
dapat mengakses sampai 64 K peranti 8 bit yang berbeda.
Area I/O berisikan dua bagian besar, yaitu :
1. Daerah 0000h sampai 03FFh dicadangkan untuk
peralatan sistem (Gambar 2-4)
Umumnya alamat 00h sampai FFh digunakan untuk
mengalamatkan komponen yang terdapat pada
mainboard, sedangkan 0100h sampai 03FFh
dialokasikan untuk piranti pada kartu plug-in
2. Daerah 0400h sampai FFFFh adalah area ekspansi I/O
Gambar 2-5.
Peta I/O sebuah PC
BUS

Bus adalah kumpulan kabel-kabel yang sama, yang meng-


hubungkan komponen-komponen pada sistem komputer.

Fungsi dari bus adalah :


1. Menghubungkan bagian-bagian sistem komputer
2. Mentransfer informasi mengenai data, alamat dan
kontrol.
3. Mengontrol informasi antara mikroprosesor dengan
memori maupun sistem I/O
BUS ALAMAT digunakan untuk menentukan lokasi memori
atau lokasi I/O. Jika I/O dialamatkan, maka bus alamat terdiri
dari sebuah alamat I/O 16 bit yang berlokasi antara 0000H
sampai FFFFH (sebesar 1 segmen memori = 64 Kbit)
Jika memori dialamatkan, maka bus alamat terdiri dari
alamat memori yang mempunyai lebar alamat bervariasi
sesuai dengan mikroprosesornya.
Misalnya :
1. 8086 dan 8088 mengalamatkan memori sebesar 1 MB
yang menggunakan alamat 20 bit untuk memilih lokasi
00000H sampai FFFFFH
2. 80386 mengalamatkan 16 MB yang menggunakan alamat
24 bit untuk memilih lokasi 000000H sampai FFFFFFH
Sekarang coba tentukan berapa bit alamat yang dibutuhkan
untuk menjangkau memori sebesar 4 GB serta 64 GB ?
BUS DATA memindahkan informasi antara mikroprosesor
dengan memorinya dan ruang alamat I/O
Pada kerabat mikroprosesor keluarga Intel, ukuran
pemindahan data bervariasi dari yang lebarnya 8 bit
sampai 64 bit.
Misalnya :
- Intel 8088 mempunyai bus data 8 bit yang dapat
memindahkan data sebesar 8 bit pada suatu waktu.
- Intel 8086 dan 80286 memindahkan data 16 bit melalui
bus masing-masing pada suatu waktu.
- Intel 80386 memindahkan data 32 bit pada suatu waktu.
- Pentium I dan Pentium II memindahkan data 64 bit pada
suatu waktu.
BUS KENDALI berisi jalur yang memilih memori atau I/O
dan membuatnya melakukan operasi baca (read) atau tulis
(write).
Pada kebanyakan sistem komputer, ada empat hubungan
bus kontrol aktif rendah, yaitu :
1. #MRDC (Memory ReaD Control)
2. #MWTC (Memory WriTe Control)
3. #IORC (I/O Read Control)
4. #IOWC (I/O Write Control
Coba diskusikan ….

• Apa fungsi bus kendali?

• Siapa yang mengendalikan dan dikendalikan melalui bus

ini?

• Bus alamat adalah bus yang digunakan untuk

melewatkan informasi alamat. Dalam hal ini, siapa saja

yang akan dialamati oleh prosesor ?


Pertemuan 3

FORMAT DATA KOMPUTER


Secara umum, format data yang digunakan dalam
sistem komputer adalah :

1. ASCII

2. BCD

3. Sign and Unsign Integer

4. Floating Point (Bilangan Real)


ASCII
(American Standard Code for Information Interchange)

Karakter alfanumerik tersimpam pada memori dalam


format data ASCII (Tabel 3-1).
Format data yang digunakan adalah 7 bit dengan bit yang
ke 8 digunakan untuk memuat parity.
Dengan 7 bit, kode ASCII memiliki 27 = 128 buah
kombinasi kode yang berbeda (mulai 00H sampai 7FH).
Extended ASCII adalah kode 8 bit (perluasan ASCII)
dimulai dari 80H sampai FFH (Tabel 3-2)
Secara umum, karakter ASCII terdiri dari :
1. Control characters
2. Information characters.
Information characters terdiri dari :
- 26 buah huruf kapital (upper case) dari A sampai Z
- 26 buah huruf kecil (lower case) dari a sampai z
- 10 digit desimal dari 0 sampai 9
- 32 karakter khusus (special characters).
Control characters dapat dikelompokkan menjadi :
- Transmision control, digunakan untuk mengontrol arus
dari data yang dikirimkan lewat jalur transmisi.
- Format effector, digunakan untuk mengatur susunan
secara fisik dari informasi yang ditransmisikan pada alat
cetak atau layar dari terminal.
- Device controls, digunakan terutama untuk pengontrolan
alat-alat fisik yang ada di terminal.
- Information separator, digunakan sebagai elemen
pembatas data yang ditransmisikan.
Tabel 3-1.
ASCII 7 bit
Tabel 3-2.
Extended ASCII 8 bit
Data ASCII dapat disimpan dalam memori dengan meng-
gunakan direktif khusus program assembler yaitu : Define
Byte (DB) atau BYTE
Contoh 3-1.
0000 42 61 72 72 NAMA DB ‘Barry B. Brey’
79 20 42 2E
20 42 72 65
79
000D 57 68 65 72 PESAN DB “Where can it be?’
65 20 63 61
6E 20 69 74
20 62 65 3F
BCD
(Binary Code Decimal)

BCD berisi simbol desimal yang dikodekan kedalam biner.


Rentang digit BCD antara 0000b sampai 1001b (desimal 0
sampai 9)
Data BCD disimpan dalam dua bentuk, yaitu :
1. BCD Packed, disimpan dalam bentuk 2 digit per-byte,
biasa digunakan pada instruksi mikroprosesor.
2. BCD Unpacked, disimpan dalam 1 digit per-byte, biasa
digunakan pada keypad atau keyboard.

(Tabel 3-3) memperlihatkan beberapa bilangan desimal


yang dikonversikan ke bentuk BCD Packed dan
Unpacked.
Tabel 3-3.
Data BCD Packed dan Unpacked
Penggalan listing program berikut ini memperlihatkan
bagaimana assembler digunakan dalam mendefinisikan
BCD packed dan unpacked.

Contoh 3-2.
; data BCD unpacked
0000 03 04 05 NUMB1 DB 3,4,5 ; menetapkan bil. 543
07 08 NUMB2 DB 7,8 ; menetapkan bil. 87

; data BCD packed


0005 37 34 NUMB3 DB 37H,34H : menetapkan bil. 3437
0007 03 45 NUMB4 DB 3H, 45H : menetapkan bil. 4503
Signed dan Unsigned Integer

Signed dan Unsigned integer adalah format data yang di


gunakan untuk menyajikan bilangan bulat.
Bilangan ini dapat berukuran 1, 2 atau 4 byte.
(Gambar 3-1.) mengilustrasikan bobot posisi pada bilangan
signed dan unsigned integer berukuran satu byte.
Dalam format data “signed integer” satu byte, bit yang
paling kiri adalah bit ‘tanda bilangan’ S.
Jika S=0 maka bilangan bertanda positif dan jika S=1 maka
bilangan bertanda negatif. Range dari bilangan ini adalah
dari -128 sampai -1 dan 0 sampai +127.
Sebenarnya, bilangan singed integer ini didapat dari
komplemen ke-dua dari bilangan positifnya.
Gambar 3-1.
Byte Unsigned dan Unsigned menggambarkan bobot
setiap posisi bit
Sedangkan untuk “unsigned integer” satu byte, semua bit
digunakan untuk menyajikan bilangan integer. Range untuk
bilangan ini adalah dari 0 sampai 255.

Sekarang coba anda tentukan range bilangan signed dan


unsigned integer untuk ukuran word dan double word.

Untuk menyimpan bilangan integer satu byte pada memori,


dapat digunakan direktif DB.
Contoh 3-3.

; Unsigned integer
0000 FE DATA1 DB 254 ; unsigned integer 254
desimal
0001 87 DATA2 DB 87H ; unsigned integer 87 heksa
; signed integer
0002 9C DATA3 DB -100 ; signed integer -100 desimal
0003 64 DATA4 DB +100 ; signed ingeger +100
desimal
0004 FF DATA5 DB +1 ; signed integer +1 desimal

Sedangkan untuk data ukuran word, digunakan direktif


DW, dan ukuran doubleword digunakan direktif DD
Little Endian dan Big Endian

Untuk data berukuran word (16 bit) dibentuk oleh 2 byte


data. Ada dua cara yang dapat digunakan untuk
menyimpan data word kedalam memori, yaitu :
1. Format Little Endian
Yaitu dengan menyimpan bit LSB pada lokasi memori
yang paling rendah dan MSB pada lokasi yang paling
tinggi. Format ini biasa digunakan pada komputer
keluarga Intel.
2. Format Big Endian
Kebalikan dari Little Endian. Cara ini digunakan pada
kerabat prosesor Motorola
Bilangan Real / Floating Point

Bilangan Real terdiri dari tiga field, yaitu :


1. Bit signed S
2. Eksponen
3. Mantisa (Signifikan atau pecahan)

Secara umum ada tiga bentuk bilangan real yang dapat


disimpan dalam memori (Gambar 3-2), yaitu
1. Presisi tunggal berukuran 4 byte
2. Presisi ganda berukuran 8 byte
3. Presisi diperpanjang (expanded) berukuran 10 byte
Gambar 3-2.
Bilangan Real atau Floating Point
Eksponen disimpan dalam format eksponen terbias. Untuk
bilangan real presisi tunggal biasnya adalah 127 (7FH),
sedangkan untuk presisi ganda biasnya adalah 1023
(3FFH).
Bias ini akan dijumlahkan ke dalam eksponen sebelum
disimpan ke dalam field eksponennya.

Ada dua pengecualian mengenai aturan-aturan yang


diterap-kan mengenai bilangan real, yaitu :
1. Angka 0,0 di simpan semuanya sebagai bit 0
2. Bilangan tak berhingga disimpan dalam field eksponen
semuanya sebagai bit 1 dan dalam field mantisa
semuanya sebagai bit 0.
Contoh 3-4

Bilangan desimal = +12


Biner = 1100
Biner yang dinormalkan = 1.1 x 23
Bit tanda S =0
Eksponen (8 bit) = 0000 0011
Bias (7FH) = 0111 1111
Eksponen terbias = 1000 0010 (eksponen+bias)
Mantisa (bit pecahannya) = 1000000 00000000 00000000 (23 bit)
Sehingga didapat bilangan real-nya adalah :
S + Eksponen_Terbias + Mantisa =
0100 0001 0100 0000 0000 0000 0000 0000 =
41400000H
Sekarang Cobalah anda cari bilangan real presisi tunggal
untuk desimal berikut :

1. -12

2. +100

3. -1,75
Pertemuan 4

ARSITEKTUR INTERNAL
MIKROPROSESOR
MODEL PEMROGRAMAN

Model pemrograman 8086 ke atas termasuk visible


register (terlihat program) karena register-registernya
digunakan selama pemrograman aplikasi dan ditentukan
oleh instruksi (Gambar 4-1)‫‏‬

Register lainnya merupakan invesible register (tak terlihat


program) karena register-register tersebut tidak dapat
dialamati selama pemrograman aplikasi, namun dapat
digunakan tak langsung selama pemrograman sistem.

Hanya mikroprosesor 80286 keatas yang memiliki register-


register invesible program.
Gambar 4-1.
Model Pemrograman mikroprosesor Intel 8086 keatas
Berdasarkan fungsinya, register-register yang dimiliki oleh
mikroprosesor keluarga Intel dapat dikelompokkan menjadi
tiga, yaitu :
• Multi purpose register (register serbaguna), yaitu :
Akumulator, Base, Count, Data, Base Pointer,
Destination Index, Source Index.
• Special purpose register (register untuk tujuan khusus),
yaitu : Instruction Poniter, Stack Pointer, Flags
• Segment register, yaitu : Code Segment, Data
Segment, Stack Segment, Extra Segment, FS dan GS.
MULTI PURPOSE REGISTER
1. Akumulator (EAX)‫‏‬
Akumulator digunakan untuk instruksi-instruksi
aritmatika. EAX dapat dialamati sebagai register 32 bit
(EAX), register 16 bit (AX atau register 8 bit (AH dan AL)‫‏‬
2. Base Index Register (EBX)‫‏‬
BX dapat menyimpan alamat offset sebuah lokasi
memori. Dalam mikroprosesor 80386, EBX juga dapat
mengalamati data memori
3. Count (ECX)‫‏‬
ECX dapat digunakan untuk instruksi perhitungan,
misalnya : instruksi string berulang (menggunakan CX),
instruksi pergeseran dan perputaran (menggunakan
CL), instruksi LOOP (menggunakan CX atau ECX)‫‏‬
• Data (EDX)‫‏‬
Digunakan untuk menyimpan hasil perkalian dan
menyimpan sisa dalam perkalian. Dalam mikroprosesor
80386, register ini juga mampu mengalamati data memori.
• Base Pointer (EBP)‫‏‬
EBP menunjuk sebuah lokasi memori yang digunakan
untuk mentransfer data memori.
• Destination Index (EDI)‫‏‬
EDI sering digunakan untuk mengalamati data tujuan
string pada beberapa instruksi string.
• Source Index (ESI)‫‏‬
Register Source Index sering digunakan untuk mengalamati
sumber data string pada beberapa instruksi string.
SPECIAL PURPOSE REGISTER

• Instruction Pointer (EIP)‫‏‬

Instruction Pointer digunakan untuk mengalamati


instruksi selanjutnya yang akan dieksekusi dalam
sebuah segmen memori yang didefinisikan oleh register
Code Segment. Isi register ini dapat di rubah dengan
instruksi JUMP atau CALL
• Stack Pointer (ESP)‫‏‬
Register ini digunakan untuk mengalamati sebuah
segmen memori yang dialokasikan untuk stack.

• Flag (EFLAG)‫‏‬
Register Flag menunjukkan kondisi mikroprosesor dan
mengontrol operasinya. (Gambar 4-2.)‫‏‬
Lima bit FLAG terkanan dan FLAG Overflow
dipengaruhi oleh operasi aritmatika atau logika,
sedangkan transfer data tidak mempengaruhinya.
Pada slide berikut, akan dijelaskan fungsi dari
beberapa bit FLAG.
Berikut ini adalah beberapa bit pada Flag Register.
Gambar 4-2.
FLAG Register untuk kerabat Mikroprosesor Intel
a. Carry C
Bit C menyimpan carry setelah penambahan atau borrow
setelah pengurangan

b. Paritas P
Paritas adalah jumlah angka satu dalam bilangan biner,
yang dinyatakan dalam “genap” atau “ganjil”.
Jika P=0, maka paritasnya adalah ganjil, dan sebaliknya.

c. Auxiliary carry A
Carry tambahan (auxiliary carry) menampung carry
setengah setelah penambahan atau borrow setengah
setelah pengurangan, antara posisi bit 3 dan 4. Pada
operasi untuk bilangan BCD, bit FLAG ini diuji oleh
instruksi DAA dan DAS untuk menyeseuaikan nilai AL.
d. Zerro Z
FLAG Z menunjukkan bahwa hasil dari operasi aritmaka
atau logika adalah nol. Jika Z=1, maka hasil operasi adalah
nol, sebaliknya jika Z=0, maka hasil operasi bukan nol.

e. Sign S
FLAG S akan menampung tanda dari hasil operasi
aritmatika atau logika. Jika S=1, maka hasil operasi
bertanda negatif, dan sebaliknya.

f. Interrupt I
FLAG I mengendalikan operasi dari pin input INTR pada
mikroprosesor. Jika I=1, maka pin INTRnya enable (aktif),
dan sebaliknya. Bit ini dapat di kendalikan dengan intsruksi
STI (SeT Interrupt) atau CLI (Clear Interrupt).
g. Diretion D
FLAG arah ini memilih salah satu dari mode penambahan
atau pengurangan untuk register DI dan/atau register SI
selama instruksi string.

h. Overflow O
Overflow terjadi ketika bilangan bulat bertanda (sign
Integer) ditambah atau dikurang. (untuk operasi pada
bilangan tidak bertanda bit ini diabaikan)‫‏‬
. Suatu overflow menunjukkan apakah hasil operasi
melebihi kapasitas mesin.
contohnya jika 7FH(+127) ditambah dengan 01H(+1)
dengan menggunakan penambahan 8 bit, hasilnya
adalah 80H(-128). Hal ini akan membuat bit O menjadi 1
SEGMENT REGISTER
Register segment menghasilkan alamat segmen memori
ketika dikombinasikan dengan register lainnya. Sebuah
segment bisa berukuran 64 KByte (8086 sampai 80286) atau 4
GByte (80386 keatas)‫‏‬
1. Code Segment CS
Code Segment adalah suatu bagian dari memori yang
memuat kode (program dan prosedur) yang digunakan oleh
mikroprosesor. Register CS mendefinisikan alamat awal
dari bagian kode pemuatan memori.
2. Data Segment DS
Segment data adalah bagian dari memori yang berisi
sebagian besar data yang digunakan oleh program.
3. Extra Segment ES
Segment ekstra adalah suatu penambahan segment
data yang digunakan oleh beberapa instruksi string
untuk menyimpan data tujuan.
4. Stack Segment SS
Stsck Segment mendefinisikan area memori yang
digunakan untuk stack.
5. FS dan GS
FS dan GS adalah register segment tambahan yang
tersedia pada mikroprosesor 80386 keatas.
PENGALAMATAN MEMORI MODE REAL

Mikroprosesor 80286 keatas beroperasi baik dalam mode


real maupun mode terlindung (protected)‫‏‬
Operasi mode real mengijinkan penempatan ruang memori
hanya pada 1 MByte pertama. Sehingga memori I MByte
pertama sering disebut dengan memori real atau memori
konvensional.
Sistem Operasi DOS menghendaki mikroprosesor
beroperasi pada mode real. Pada semua kasus,
mikroprosesor mengawali operasinya pada mode real saat
pertama power diaktifkan atau mikroprosesor direset.
Gambar 4-3.
Skema Pengalamatan Memori Mode Real dengan
Segment Offset.
SEGMENT DAN OFFSET

Kombinasi dari suatu alamat segmen dan alamat offset


mengakses lokasi memori pada mode real.
Alamat segment berada dalam suatu segment register,
menetapkan alamat awal dari segment memori 64 KByte.
Alamat offset (displacement) memilih sembarang lokasi
relatif pada sebuah segment yang alamat awalnya telah
ditentukan pada segment register.
Misalnya, jika register segment berisi 1000H, maka alamat
awal segment adalah 10000H. Jika register offset berisi
F000H berarti alamat yang dimaksud adalah 10000H +
F000H = 1F000H. Sedangkan akhir dari segment adalah
10000H + FFFFH = 1FFFFH.(Gambar 4-3)‫‏‬
Sebagai latihan, lengkapilah tabel berikut ini
Sekarang tentukanlah alamat yang dimaksud, jika :
Pertemuan 5

MODEL PENGALAMATAN
MODE PENGALAMATAN DATA

Pada pembahasan kali ini, digunakan instruksi MOV untuk


menjelaskan mode pengalamatan data.
Format penulisannya adalah :

MOV Reg2,Reg1

MOV disebut sebagai opcede


Reg1 dan Reg2 disebut sebagai operand
Reg1 adalah register atau memori sumber
Reg2 adalah register atau memori tujuan
1. PENGALAMATAN REGISTER

Digunakan untuk memindahkan salinan data dari register


sumber ke register tujuan.
Syarat :
1. Register sumber dan tujuan harus berukuran sama.
register 8 bit = AH, AL, BH, BL, CH, CL, DH dan DL.
register 16 bit = AX, BX, CX, DX, SP, BP, SI dan DI.
register 32 bit = EAX, EBX, ECX, EDX, ESP, EBP, ESI dan
EDI
2. Pemindahan data dari register segment ke register segment
tidak diijinkan.
3. Register segment tidak boleh menjadi register tujuan.
Gambar 5-1.
Contoh instruksi pengalamatan register MOV BX,CX
Coba anda jelaskan apa yang terjadi pada instruksi berikut
ini ?
Instruksi Operasi yang dilakukan
MOV CH,CL
MOV ECX,EBX
MOV SP,BP
MOV ES,DS
MOV BL,DX
MOV CS,AX
2. PENGALAMATAN SEGERA (IMMEDIATE)‫‏‬

Digunakan untuk memindahkan data konstan ke register


tujuan. Data konstan yang dimaksud dapat berukuran byte
atau word. Untuk 80386 keatas dapat berupa data double-
word.
Coba ingat lagi : byte, word dan double-word, masing-masing
berisi berapa bit !

Sekarang jelaskan apa yang tersimpan di register tujuan, jika


instruksi berikut ini dieksekusi :
• MOV BL,44
• MOV AL,’A’
• MOV CL,11001010B
3. PENGALAMATAN DATA LANGSUNG
Pengalamatan langsung dengan instruksi MOV, akan
memindahkan data antara lokasi memori (yang ditempatkan
dalam segment data) dan akumulator (AL, AH, AX atau EAX).
Misalnya : MOV AL,[1234H]
Instruksi tersebut akan memindahkan salinan data yang ada di
memori dengan alamat offset=1234H. Alamat segment secara
default akan diambil dari register segment data DS. Jika DS
berisi 1000H, maka alamat memori yang dimaksud adalah
10000H+1234H=11234H.
Jelaskan :
1. Mengapa alamat segment-nya menjadi 10000H ?
2. Mengapa register DS digunakan untuk menentukan
alamat segmen ?
Gambar 5-2.
Ilustrasi untuk instruksi MOV AL,[1234H]
4. PENGALAMATAN TIDAK LANGSUNG

Pengalamatan register tidak langsung memungkinkan data


dialamatkan pada lokasi memori melalui alamat offset yang
ditunjukkan oleh setiap register berikut ini : BP, BX, DI dan SI.
jika register BX berisi 1000H dan instruksi MOV AX,[BX]
dilakukan, maka isi dari segment data yang berukuran word
pada alamat offset 1000H akan disalin ke rigister AX.
Jika register DS berisi 0100H, maka alamat memori yang
sebenarnya adalah 01000H+1000H=02000H.
Isi memori pada lokasi 02000H disalin ke dalam AL dan isi
pada lokasi 02001H disalin ke AH.
Gambar 5-2. Ilustrasi untuk instruksi MOV AL,[BX]
PENGALAMATAN MEMORI PROGRAM

Mode pengalamatan memori program yang digun akan


dengan instruksi JMP dan CALL, terdiri dari tiga bentuk yang
berbeda, yaitu : langsung, relatif dan tidak langsung.
1. Pengalamatan Memori Program Langsung
Mode pengalamatan ini digunakan untuk semua loncatan dan
panggilannya.
Instruksi untuk mode pengalamatan ini, menyimpan alamat
dengan opcode.
Contoh :
1. JMP [10000H]
2. JMP Label
3. CALL Label
2. Pengalamatan Memori Program Relatif

Istilah relatif disini maksudnya adalah relatif terhadap


instruction pointer IP.
Misalnya : JMP [2]
Jika CS berisi 1000H dan IP berisi 0000H, maka penunjuk
instruksi akan melompat dua byte berikutnya. Sehingga
instruksi berikutnya yang akan dieksekusi berada pada
alamat 10004H
10000 EB JUMP [2]
10001 02
10002
10003
10004
3. Pengalamatan Memori Program Tidak Langsung

Mikroprosesor memungkinkan beberapa pengalamatan


memori tidak langsung untuk instruksi JMP dan CALL.

Misalnya : JMP BX.

Jika BX berisi 1000H dan isntruksi JMP BX di eksekusi,


maka mikroprosesor meloncat ke alamat offset 1000H
dalam segment kode saat ini.
Coba anda jelaskan apa yang terjadi jika instruksi berikut
ini di eksekusi ?

Instruksi Operasi yang dilakukan

JMP AX

JMP CX

JMP NEAR PTR[BX]

JMP NEAR PTR[DI+2]

JMP TABLE[BX]

JMP ECX
MODE PENGALAMATAN MEMORI STACK

Memori stack adalah memori LIFO yang menggambarkan cara


data disimpan dan dihapus dari stack.
Data ditempatkan pada stack dengan instruksi PUSH dan
dihapus dengan instruksi POP.
Instruksi CALL selalu menggunakan stack untuk menyimpan
alamat kembali prosedur dan instruksi RET untuk menghapus
alamat kembali dari stack.
Memori stack didefisikan oleh register Stack Segment SS atau
ESS dan register Stack Pointer SP atau ESP.
Pertemuan 6

SPESIFIKASI PERANGKAT KERAS


8086/8088
Gambar 6-1.
Pin-Out dan Fungsi Pin Intel 8088
Gambar 6-2.
Pin-Out dan Fungsi Pin Intel 8086
Persamaan 8088 dengan 8086 adalah :
- Terkemas dalam dual in line Package (DIP) 40
- Merupakan mikroprosesor 16 bit
- Memiliki 20 bit pada bus alamatnya

Perbedaan utamanya adalah :


- 8086 memiliki bus data 16 bit, sedangkan 8088 hanya 8 bit
- 8086 tidak membutuhkan generator clock, sedangkan
8088 membutuhkan.
Pin yang tidak terpengaruh oleh perubahan mode
(maksimum atau minimum)
1. AD7-AD0 : Jalur bus alamat/data.
Pada 8088 merupakan bus data alamat yang
dimultipleks dan berisi delapan bit paling kanan dari
alamat memori atau nomor port jika ALE berlogika 1
atau data ketika ALE berlogika 0
2. A15-A8 : BUS ALAMAT.
8088 menyediakan bit-bit alamat memori paruh atas
yang ada selama siklus bus.
3. AD15-AD8 : jalur bus alamat/data
8086 terdiri dari bus alamat/data bagian atas. Jalur-jalur
ini berisi bit-bit alamat A15-A8 jika ALE berlogika 1 dan
hubungan bus data D15-D8 jika ALE berlogika 0.
4. A19/S6-A16/S3 : bus alamat/status.
Bit status S6 selalu tetap berlogika 0
Bit S5 menunjukkan kondisi bit-bit flag IF
Bit S4 dan S3 menunjukkan segmen memori yang diakses
selama siklus bus pada saat itu (Tabel 6-1)
Tabel 6-1.
Fungsi bit status
S4 S3 Fungsi
0 0 Segmen ekstra
0 1 Segmen stack
1 0 Kode atau tanpa segmen
1 1 Segmen data
5. #RD : sinyal baca.
Jika sinyal baca berlogika 0, bus data bisa menerima
data dari luar (memori atau I/O)

6. READY
Input ini dikendalikan untuk menyisipkan status tunggu
ke timing mikroprosesor. Jika pin ini berlogika 0,
mikroprosesor memasuki status tunggu dan tetap idle.
Jika pin ini berlogika 1, tidak ada efek apapun.

7. INTR : Interrupt Request


Digunakan untuk meminta interupsi perangkat keras.
8. #TEST
Pin ini merupakan input yang ditest oleh instruksi wait. Jika
#TEST berlogika 0, instruksi wait berfungsi sebagai NOP.
Jika #TEST berlogika 0, instruksi wait menunggu sampai
#TEST berlogika 1. Biasanya pin ini dihubungkan dengan
koprosesor numerik.
9. NMI : Non Maskable Interrupt
Input NMI sama dengan INTR kecuali interupsi NMI
tidak memeriksa apakan bit flag IF berlogika 1.
10. RESET
input RESET menyebabkan mikroprosesor mereset
dirinya sendiri.
11. CLK : Clock
Pin ini menyediakan sinyal waktu (timing) dasar ke
mikroprosesor.
12. Vcc : input catu daya
13. GND : Ground
Pin ini merupakan jalur kembali catu daya.
14. MN/#MX : mode minimum/mode maksimum.
Operasi mode minimum didapat dengan
menghubungkan pin MN/#MX langsung ke +5,0 V.
Sedangkan operasi mode maksimum didapat dengan
menghubungkan pin ke MN/#MX ground
15. #BHE/S7 : bus high enable
Pin ini digunakan pada 8086 untuk enabel bit bus data
yang paling signifikan selama operasi baca/tulis.
PIN-PIN MODE MINIMUM
Operasi mode minimum 8086/8088 didapat dengan
menghubungkan pin MN/MX langsung ke +5.0 volt
1. IO/#M (8088) atau M/#IO (8086)
Pin ini digunakan untuk memilih memori atau IO
2. #WR
Pin ini merupakan strobe yang emenunjukkan bahwa
8086/8088 sedang mengeluarkan data ke memori atau
alat I/O. Selama pin ini berlogika 0, bus data berisi data
yang valid untuk memori atau I/O
3. #INTA
sinyal interrupt ackowledge merupakan tanggapan
terhadap pin input INTR. Pin #INTA biasanya
digunakan untuk memasukkan nomor vector interrupt
ke bus data sebagai jawaban atas permintaan interupsi.
4. ALE
Address latch enable menunjukkan bahwa bus
alamat/data berisi informasi alamat. Alamat ini bisa
alamat memori atau nomor port.
5. DT/#R
Data transmitter/receiver menunjukan bahwa bus data
mikroprosesor sedang mengirim atau menerima data .
6. DEN
Data bus enable mengaktifkan buffer bus data eksternal
7. HOLD
Jika input HOLD berlogika 1, meminta layanan DMA.
6. HLDA
Hold ackowledge menunjukkan tanggapan terhadap
permintaan DMA
9. #SS0
Pin ini ekivalen dengan S0 pada operasi mikroprosesor
mode maksimum. Sinyal ini digabungkan dengan IO/#M
dan DT/#R untuk mengkode fungsi siklus bus saat itu.
PIN-PIN MODE MAKSIMUM
Untuk mencapai mode maksimum, yaitu untuk penggunaan
dengan koprosesor eksternal, pin MN/#MX dihubungkan ke
ground.

1. #S2, #S1, dan #S0


Bit-bit status ini menunjukkan fungsi siklus bus saat itu.
Sinyal-sinyal ini akan didekode oleh bus controller 8288

2. #RO/#GT1 dan #RO/#GT2


Pin-pin request/grant ini meminta layanan DMA selama
operasi mode maksimum
3. #LOCK
Output lock digunakan untuk mengunci periferal dari
sistem. Pin ini diaktifkan dengan menggunakan awalan
LOCK pada semua instruksi.

4. QS1 dan QS2


Pin-pin queue status menunjukkan status antrian instruksi
internal. Pin-pin ini disediakan untuk akses oleh koprosesor
numerik.
Coba diskusikan ….

• Pin-pin mana saja yang merupakan bus data, alamat


dan kendali ?

• Apa yang dimaksud dengan pin-pin dimultipleks ?

• Kenapa pin-pin tersebut dimultipleks ?

• Nama sebuah pin pada umumnya sesuai dengan


fungsinya, coba anda jelaskan fungsi sebuah pin dari
namanya !
PERTEMUAN 7

Review Materi
&
Kuis
Pertemuan 9

PIRANTI MEMORI
HUBUNGAN PIN MEMORI

Hubungan Pin yang umum untuk semua peranti memori


adalah :
1. Hubungan Alamat
Semua peranti memori memiliki n input alamat yang
memilih satu dari 2n lokasi didalamnya. Input alamat
hampir selalu diberi label dari A0 sampai An-1
2.Hubungan data
Hubungan data adalah titik dimana data dimasukkan untuk
menyimpan atau dikeluarkan untuk pembacaan. Pin data
pada peranti memori diberi label D0 sampai D7 untuk
peranti memori dengan lebar 8-bit.
3. Hubungan seleksi
Setiap peranti memori memiliki sebuah (atau lebih) input
yang memilih (mengenabel) peranti memori. Contohnya :
Chip Select (CS), Chip Enable (CE) atau Selec(S)
4. Hubungan kendali
Semua peranti memori memiliki satu atau lebih input
kendali. Input kendali yang biasanya ditemukan pada
ROM adalah Output Enable (OE) atau hubungan gerbang
Gate (G), yang memungkinkan data mengalir keluar dari
‘pin output data’ dari ROM.
Peranti memori RAM memiliki satu atau dua input kendali.
Contoh satu input kendali : R/W. Contoh dua input
kendali: WE dan OE
Gambar 9-1.
Komponen memori semu yang mengilustrasikan hubungan
alamat, data dan kendali
READ ONLY MEMORY (ROM)
ROM secara permanen menyimpan program-program dan data
yang bersifat menetap (resident) terhadap sistem, serta harus
tidak berubah jika listrik dimatikan (nonvolatile memory)
Beberapa type ROM :

1.EPROM (Erasable Programmable ROM)


Biasanya dibeli dalam jumlah yang banyak dari pabrik dan
diprogram selama pembuatannya. Umumnya dipakai jika
perangkat lunak harus sering diganti atau jika hanya ada
jumlah yang sangat terbatas pada permintaan untuk
membuat ROM ekonomis. EPROM juga dapat dihapus jika
diletakkan pada sinar ultraviolet berintensitas tinggi selama
20 menit atau kurang, bergantung pada typenya.
2. PROM (Programmable ROM)
Memori ini juga diprogram pada saat pembuatannya, tapi
sekali diprogram tidak dapat dihapus.

3. EEPROM (Electrical Erasable Programmable ROM)


Sering disebut EAROM (Electrically Alterable ROM),
Nonvolatile RAM, atau flash memory.
Memori ini merupakan RAM yang tidak mudah berubah
(Nonvolatile RAM). Peranti ini dapat dihapus dengan listrik
dalam sistem , tapi membutuhkan waktu yang lama dalam
menghapus daripada RAM yang normal.
Misalnya : 2716 EPROM 2k x 8 (Gambar 9-2)
Gambar 9-2.
Pin out dari 2716 EPROM 2k x 8 (sumbangan dari Texas
Instruments Incorporated)
RAM (RANDOM ACCESS MEMORY)

Pada umumnya sebuah RAM bersifat tidak permanen, karena


jenis memori ini hanya dapat digunakan selama supply listrik
tersedia (volatile memory)

Jenis RAM yang sering digunakan adalah :


1. SRAM (Static RAM)
RAM statik dibuat dengan menggunakan kapasitor,
sehingga. Selama memori ini bekerja, isinya akan tetap
tersedia (selama supply listrik juga tesedia). Misalnya SRAM
4016.(Gambar 9-3)
Gambar 9-3.
Pin out dari TMS4016 SRAM 2k x 8 (sumbangan dari
Texas Instruments Incorporated)
2. DRAM (Dinamic RAM)

RAM dinamik dibuat dari kapasitor, sehingga kapasitas nya


jauh lebih besar. Sesudah 2 atau 4 ms, isi dari DRAM harus
ditulis kembali seluruhnya (refresh) karena kapasitor- kapasitor
yang menyimpan logika 0 atau 1 akan kehilangan muatan
(charge) mereka.
Kekurangan yang lain dari DRAM yaitu membutuhkan banyak
pin alamat sehingga pabrik telah memultipleks pin alamat.
Misalnya DRAM 64Kx4 TMS 4464 yang menyimpan 256 Kbit
data (Gambar 9-3). Menurut anda, memori tersebut se-
harusnya memiliki berapa pin untuk hubungan alamatnya ?.
Type DRAM yang sering dijumpai adalah EDO DRAM
(Extended Data Out DRAM) serta SDRAM (Synchronous
DRAM)
Gambar 9-4.
Pin out dari TMS4464 DRAM 64k x 4 (sumbangan dari
Texas Instruments Incorporated)
DRAM biasanya ditempatkan pada papan sirkuit kecil yang
disebut SIMM (Single In-line Module Memory). Bentuk yang
sudah ada ukurannya adalah

- Untuk lebar data 8 bit : SIMM 30 pin atau 72 pin.

- Untuk lebar data 64 bit : DIMM (Dual In-line Module


Memori)
Pertemuan 10

DASAR ANTAR MUKA I/O


TEKNIK PENGALAMATAN I/O

Terdapat dua metode dasar untuk mengalamati I/O, yaitu :


1.I/O Terisolasi (Isolated I/O)
Prosesor memisahkan antara ruang alamat untuk memori
dengan ruang alamat untuk I/O (Gambar 10-1). Ruang
alamat I/O yang terpisah dari memori ini yang disebut
dengan port
2.I/O Terpeta Memori (Memory mapped I/O)
Prosesor mengambil sebagian alamat memori untuk
digunakan sebagai ruang alamat untuk I/O (Gambar 10-2)
Gambar 10-1.
I/O Terisolasi
Gambar 10-2.
I/O Terpeta Memori
Kelebihan I/O Terisolasi :
User dapat memaksimalkan penggunaan memori, karena
tidak ada segmen memori yang digunakan untuk ruang I/O

Kekurangan I/O Terisolasi :


Prosesor harus menyediakan instruksi yang terpisah antara
memori dan I/O.
Pada metode ini, transfer data antara I/O dengan prosesor
harus diakses oleh instruksi IN, INS, OUT dan OUTS.
Selain itu sinyal kontrol terpisah harus disediakan bagi
ruang I/O (M/#IO dan W/#R)
Kelebihan I/O Terpeta Memori :
Setiap instruksi transfer memori dapat digunakan untuk
mengakses piranti I/O
Sinyal kendali (#IORC) dan (#IOWC) tidak memiliki fungsi di
dalam sistem I/O dan dapat mengurangi jumlah sirkuit yang
diperlukan untuk melakukan dekode.

Kekurangan I/O Terpeta Memori :


Sebagian dari memori sistem digunakan untuk ruang I/O,
sehingga penggunaan memori untuk aplikasi akan
berkurang.
INSTRUKSI I/O
Instruksi yang digunakan untuk memindahkan data antara
I/O dengan register (AL, AX atau EAX) adalah IN dan OUT
(untuk data string : INS dan OUTS). Data string dari I/O
akan dipindahkan ke memori (bukan ke register)
Alamat I/O (nomor port) dapat berbentuk 8 bit (fixed
address atau alamat tetap) atau 16 bit (variable address
atau alamat tidak tetap).
Alamat I/O 8 bit selalu disimpan dalam opcode p8 (dari
00H sampai FFH), sedangkan alamat I/O 16 bit selalu
disimpan dalam register DX (dari 0000H sampai FFFFH).
Alamat memori ditempatkan pada lokasi ES:DI untuk
instruksi INS, sedangkan untuk instruksi OUTS
penempatan alamat di DS:SI.
Programmable Peripheral Interface (PPI) 8255

PPI 8255 merupakan komponen antarmuka berbiaya rendah


yang sangat populer dalam banyak aplikasi.
Spesifikasi PPI 8255 :
- Terkemas dalam dual in line package 40 pin serta
kompatible dengan semua TTL dan prosesor Intel
- Mempunyai 24 pin I/O dapat diprogram dalam dua
kelompok 12 pin (24 bit programmable I/O), Gambar 10-3
- Dapat dioperasikan dalam tiga mode yang terpisah, yaitu
mode 0, mode 1 dan mode 2
- Memiliki tiga buah register kendali dan tiga port terpisah
yang dapat dialamati, Gambar 10-4
Gambar 10-3.
Pin out PPI 8255
Gambar 10-4.
Blok Diagram PPI 8255
Fungsi PIN 8255

1. #CS Chip Select


Input low akan mengaktifkan IC sehingga dapat dipakai
komunikasi data antara 8255 dengan prosesor
2. #RD Read
Inpur low akan membuat IC dapat mengambil data dari
perangkat luar.
3. #WR Write
Input low akan membuat IC dapat mengirim data ke
perangkat luar
4. A0 dan A1
Digunakan untuk memilih port yang akan digunakan
(Tabel 10-1)
Tabel 10-1. Tabel kebenaran PPI 8255

A1 A0 #RD #WR #CS Keterangan


0 0 0 1 0 Port A → data bus
0 1 0 1 0 Port B → data bus
1 0 0 1 0 Port C → data bus
0 0 1 0 0 Data bus → Port A
0 1 1 0 0 Data bus → Port B
1 0 1 0 0 Data bus → Port C
1 1 1 0 0 Data bus → Control
X X X X 1 Data bus → tri state
1 1 1 1 0 Ilegal condition
X X X 1 0 Data bus → tri state
5. RESET
Input high pada RESET digunakan untuk menghapus
semua isi register dan isi semua port, serta men-set IC
berada dalam keadaan mode input
7. D0-D7
merupakan hubungan data ke prosesor
8. PA0-PA7, PB0-PB7 dan PC0-PC7
Merupakan hubungan port A, B dan C dengan perangkat
luar
PENGOPERASIAN PPI 8255
Mode operasi yang ada pada 82C55 ada tiga yaitu:
Operasi Mode 0, Basic Input Output
Pada mode ini seluruh port berfungsi sebagai masukan ter-
buffer atau keluaran ter-latch tergantung perintah pada control
word-nya (Gambar 10-5)
Operasi Mode 1, Strobe Input Output
Mode ini mirip dengan mode 1 hanya saja port C tidak
digunakan sebagai input/output melainkan sebagai pengontrol.
Misal grup A sebagai input maka PC5 sebagai IBF (Input
Buffer Full), PC4 sebagai #STB (Strobe) dan PC3 sbg #INTR
(Interrupt Request). Sedangkan bila grup B juga sebagai
masukan maka PC0 sebagai INTR, PC1 sebagai IBF dan PC2
sebagai #STB (Gambar 10-6).
Gambar 10-5.
Diagram Blok Mode 0
Gambar 10-6.
Diagram Blok Mode 1
Operasi Mode 2, Bidierctional
Pada mode 2 hanya port A yang dipakai sebagai instrumen
masukan & keluaran dua arah (bi-directional) sedangkan port
B tidak dipakai (Gambar 10-7)
Untuk mode ini, fungsi pin-pin pada port C adalah sebagai
berikut
PC7 sebagai #OBF (Output Buffer Full),
PC6 sebagai #ACK (Acknowledge),
PC5 sebagai IBF
PC4 sebagai #STB dan
PC3 sebagai INTR, sedangkan
PC2-PC0 sebagai I/O dwi arah tambahan.
Gambar 10-7.
Diagram Blok Mode 2
PERTEMUAN 11

INTERUPSI (INTERRUPT)
Interupsi biasa digunakan dalam mengantarmuka peralatan
I/O yang membutuhkan data dengan laju transfer data yang
relatif rendah.
Interupsi seluruh kerabat mikroprosesor Intel dapat dilakukan
dengan dua cara, yaitu :
1.Interupsi perangkat keras, yang diminta melalui pin INTR
dan NMI, serta pin INTA yang meng-acknowledge interupsi
yang diminta melalui INTR
2.Interupsi perangkat lunak, yang diminta melalui instruksi
INT, INTO, INT 3 dan BOUND, serta dua bit flag IF (interrupt
flag) dan TF (trap flag).
Penjelasan Interupsi perangkat keras

Sinyal #INTA juga merupakan pin interrupt pada mikroprosesor,


tetapi merupakan output yang digunakan untuk menanggapi
input INTR

NMI (Non Maskable Interrupt) merupakan input edge- triggered


seringkali digunakan untuk error paritas dan kegagalan sistem
utama lainnya seperti putusnya hubungan listrik. Untuk
menanggapi interupsi jenis ini, mikroprosesor akan menyimpan
semua isi register pada memori back-up yang menggunakan
baterai
Penjelasan interupsi perangkat lunak

Intel menyediakan 5 buah instruksi untuk interupsi perangkat


lunak, yaitu : BOUND, INTO, INT n, INT 3 DAN IRET

1. BOUND
Instruksi BOUND, yang memiliki dua operand,
membandingkan isi registser dua word yang ada pada
data memori.
Misal : BOUND AX,Data

2.INTO
Instruksi INTO memreriksa isi flag overflow OF.
3. INT n
Instruksi INT n memanggil prosedure pelayanan
iinterupsi pada nomor vektor n (alamat vektor= nx4)

4. INT 3
INT 3 sering disebut dengan interrupt breakpoint

5. IRET
merupakan instruksi return khusus yang digunakan
untuk kembali dari interupsi perangkat keras dan lunak
VEKTOR INTERRUPT

Vektor Interrupt adalah bilangan 4 byte yang disimpan di


dalam 1 KByte memori pertama (000000h – 0003FFh)
Ada 256 tipe vektor interrupt, yang sebagian digunakan
untuk perangkat keras dan sebagian untuk perangkat
lunak.
Setiap vektor berisi alamat awal (segmen:offset) prosedur
servis interupsi, yaitu prosedur yang dipanggil oleh
interupsi (Tabel 11-1)
Intel menentukan 32 vektor interrupt pertama untuk
digunakan pada berbagai anggota keluarga mikroprosesor.
224 vektor terakhir tersedia sebagai vektor interrupt user.
Tabel 11-1. Nomor dan Alamat untuk Vektor Intrrupt

No Alamat Fungsi

0 0h – 3h Error pembagian
1 4h – 7h Step tunggal
2 8h – Bh Pin NMI
3 Ch – Fh Breakpoint
4 10h – 13h Interrupt dalam overflow
13 - 1F 50h – 7Fh Dicadangkan
20 - FF 80h – 3FFh Untuk pengguna
INTERRUPT PERANGKAT KERAS

Mikroprosesor memiliki dua input interrupt perangkat keras :


Non Maskable Interrupt (NMI) dan Interrupt Request (INTR)
serta sebuah keluaran Interrupt Ackowledge (INTA) untuk
meng-ackonwledge permintaan interupsi melalui pin INTR
(Gambar 11-2).
Manakala input NMI diaktifkan, interrupt type 2 terjadi, karena
NMI didecode secara internal.
Input NMI biasa digunakan untuk error paritas dan kegagalan
sistem utama lainya seperti putusnya hubungan listrik.
Vector interrupt manapun dapat dipilih dari pin INTR, tetapi
kita biasanya menggunakan nomor tipe interrupt antara 20H
dan FFH (Intel telah memakai interrupt 00H – 1FH untuk
pengembangan internal selanjutnya).
Gambar 11-2.
Pin-pin interrupt pada semua versi mikroprosesor Intel
Jika prosesor mendeteksi adanya permintaan interupsi (baik
perangkat keras maupun perangkat lunak), maka urutan
kejadian yang akan dilakukan adalah :
1. Isi register flag di push ke stack
2. Interrupt Flag (IF) dan Trap Flag (TF) di clear, tujuannya
untuk mendisable INTR dan fitur trap atau single step.
3. isi Register Code Segement CS di push ke stack
4. Isi Instruction Ponter IP di push ke stack
5. isi vector interrupt diambil dan di push ke register CS:IP
sehingga instruksi berikutnya yang akan dieksekusi
adalah intruksi pelayanan interupsi yang diminta
PROGRAMMABLE INTERRUPT CONTROLLER
PIC 8259

PIC 8259 adalah alat yang digunakan untuk mengatasi


jumlah pin permintaan interupsi yang dimiliki oleh serpih
prosesor yang hanya satu (INTR).

PIC dapat menambah pin permintaan interupsi melalui pin


INTR sampai delapan, bahkan dapat diperluas hingga 64.
Coba diskusikan ….

Untuk apa I/O atau peripheral melakukan interupsi ?

Bagaimana cara prosesor melayani permintaan interupsi


dari sebuah perangkat ?

Apa yang dimaksud dengan vector interrupt ?


Pertemuan 12

DIRECT MEMORY ACCESS


(D M A)
Teknik DMA memberikan akses langsung ke memori ketika
mikroprosesor di-disable untuk sementara.
Cara ini memungkinkan data ditransfer antara memori dan
peranti I/O dengan kecepatan yang hanya dibatasi oleh
komponen memori pada sistem atau kontroller DMA
(DMAC).
Transfer DMA dipakai pada banyak aplikasi, misalnya
adalah:
• merefresh DRAM,
• display video (untuk membersihkan layar), serta
• read dan write untuk sistem memori disk.
Dua sinyal kontrol digunakan untuk meminta dan mengenali
(acknowledge) transfer akses memori langsung (DMA) pada
sistem berbasis mikroprosesor.

Pin HOLD merupakan input yang digunakan untuk meminta


aksi DMA dan pin HLDA adalah output untuk mengenali aksi
DMA.

Akses memori langsung biasanya terjadi antara piranti I/O dan


memori tanpa menggunakan mikroprosesor.
Gambar 12-1.
DMAC
DMAC 8237 mensuplay sinyal kontrol dan informasi alamat
memori pada memori dan I/O selama transfer DMA.
DAMC 8237 sebenarnya merupakan prosesor khusus yang
tugasnya adalah mentransfer data berkecepatan tinggi antara
memori dan I/O.
Walaupun alat ini tidak merupakan komponen diskrit pada
sistem berbasis mikroprosesor modern, alat ini berada di
dalam chip set kontroler sistem yang ditemukan pada
sebagian besar sistem. Walaupun tidak dideskripsikan karena
kompleksitasnya, chipset (82357 ISP atau kontroller periferal
sistem terpadu) tersebut dan integral setnya, terdiri dari dua
kontroler DMA yang diprogram tepat sama dengan 8237.
Keistimewaan DMAC 8237 adalah :
- DMAC 8237 adalah peranti empat kanal yang
kompatible dengan 8086/8088.
- DMAC ini dapat diperluas untuk melibatkan berapapun
input kanal.
- Kecepatan transfer nya mencapai 1,6 Mb per sekon.
- Setiap kanal dapat mengalamatkan satu bagian 64 KB
pada memori dan dapat mentransfer sampai 64 Kb
dengan pemrograman tunggal.
DEFINISI PIN–PIN
CLK Input clock terhubung ke sinyal clokc sistem selama
sinyal tersebut 5 Mh atau kurang.
CS’ Chhip select mengenable 8237 untuk pemrograman
RESET pin reset menghapus isi register perintah, status,
permintaan dan temporer.
READY Logika 0 pada input ready menyebabkan 8237
memasuki status wait untuk memori yang lebih lambat
dan/atau komponen-komponen I/O.
HLDA Hold aknowladge memberi sinyal kepada 8237 bahwa
mikroprosesor telah melepaskan kontrol dari bus-bus
alamat, data dan kontrol.
DREQ3-DREQ0 Input DMA request digunakan untuk meminta
transfer DMA untuk masing-masing dari keempat kanal
DMA
DB7-DB0 Pin data bus terhubung pada koneksi bus dataj
mikroprosesor dan digunakan selama pemrograman
kontroler DMA
IOR’ I/O read merupakan pin bi-direksional yang di gunakan
selama pemrograman dan selama siklus write DMA
IOW’ I/O write merupakan pin bi-direksional yang di gunakan
selama pemrograman dan selama siklus read DMA
EOP’ End of process adalah sinyal bi-direksional yang
digunakan sebagai input untuk mengakhiri proses DMA
atau sebagai output untuk memberi sinyal akhir transfer
DMA. Input ini sering digunakan untuk menginterupsi
transfer DMA di akhir siklus DMA
DACK3-DACK0 Input DMA channel ackowledge mengenali
permintaan kanal DMA. Output ini diprogram sebagai
sinyal aktif high atau aktif low. Output DACK sering
digunakan untuk memilih peranti I/O yang dikontrol oleh
DMAC selama transfer DMA.
AEN Sinyal address enable meng-enable latch alamat DMA
yang tehubung ke pin DB7-DB0 pada 8237.
ADSTB Address strobe berfungsi sebagai ALE, tetapi pin ini
digunakan oleh DMAC untuk me-latch bit-bit alamat A15-
A8 selama transfer DMA.
MEMR’ Memory read merupakan output yang menyebabkan
memori membaca data pada waktu siklus read DMA
MEMW’ Memory write merupakan output yang menyebabkan
memori menulis data pada waktu siklus write DMA
A3-A0 Pin-pin alamat ini memilih register internal selama
pemrograman dan juga menyediakan sebagian alamat
transfer DMA selama aksi DMA.
A7-A4 Pin-pin alamat ini adalah output yang menyediakan
sebagian alamat selama aksi DMA.
HRQ Hold request adalah output yang menghubungkan
input HOLD mikroprosesor untuk meminta transfer
DMA.
Anda harus mengetahui nama setiap pin. Karena fungsi yang
dilakukan oleh masing-masing pin, biasanya disesuaikan
dengan namannya.
Sistem komputer yang kompleks memiliki begitu banyak
pekerjaan yang dapat dilakukan sehingga beberapa sistem
menggunakan lebih dari satu prosesor. Sistem seperti ini
disebut sistem multiprosesing atau sistem terdistribusi.
Sedangkan sebuah sistem yang mengerjakan lebih dari satu
pekerjaan disebut sistem miutitasking.
Pada sistem ini, setiap prosesor mengakses dua bus, yaitu :
1. Bus lokal
Bus lokal dihubungkan ke memori dan peranti I/O yang
langsung diakses oleh satu mikroprosesor tanpa protokol
atau aturan akses yang khusus.
2. Bus bersama (share bus)
Bus bersama berisi memori dan I/O yang diakses oleh
mikroprosesor manapun pada sistem.
Gambar 12-2.
Diagram ilustrasi untuk bus lokal dan bus bersama
Jenis-Jenis Bus

Bus lokal adalah bus yang residen pada mikroprosesor. Bus


lokal berisi memori atau I/O residen atau lokal.

Bus bersama adalah bus yang terhubung ke semua


mikroprosesor pada sistem. Bus bersama juga digunakan
untuk mempertukarkan data antara mikroprosesor pada
sistem. Akses ke bus ini dikendalikan oleh semacam arbiter
yang hanya memperbolehkan satu mikroprosesor mengakses
ruang bus bersama sistem.
Gambar 12-3.
Pin out dan blok diagram dari Arbiter 8289
8289 mengendalikan share bus dengan input READY ke
mikroprosesor menjadi logika 0 (tidak siap) jika akses ke
shared bus ditolak. Blocking terjadi ketika mikroprosesor
sedang mengakses shared bus. Sebagai akibatnya
mikroprosesor yang meminta akses diblok oleh logika 0
yang diberikan ke sinyal input READYnya.
Ketika pin READY berlogika 0, mikroprosesor dan
perangkat lunaknya menunggu sampai akses ke shared
bus diberikan oleh arbiter. Dengan cara ini, hanya satu
mikroprosesor pada satu waktu yang mendapat akses ke
bus.
Tidak ada instruksi khusus yang dibutuhkan untuk
penentuan bus dengan arbiter bus 8289 karena arbitrasi
hanya dilakukan oleh perangkat keras saja.
Definisi pin-pin pada Arbiter Bus 8289
AEN Output address enable menyebabkan driver bus
pada sistem beralih ke status tiga keadaan, satus
impedansi tinggi.
ANYRQST Input any request merupakan pilihan pembatas
yang mencegah mikroprosesor dengan prioritas
lebih rendah mendapat akses ke shared bus. Jika
terpaku pada logika 0, terjadi arbitrasi normal dan
mikroprosesor dengan prioritas lebih rendah dapat
memperoleh akses ke shared bus jika CBRQ’ juga
merupakan logika 0.
BCLK’ Input bus clock mensinkronisasikan semua master
shared bus.
BPRN’ Input bus priority memungkinkan 8289 mendapat
shared bus pada sisi turun berikutnya dari sinyal
BCLK’
BPRO’ Output bus priority merupakan sebuah sinyal yang
digunakan untuk menyelesaikan masalah prioritas
pada sistem yang memiliki banyak master bus.
BREQ’ Output bus request digunakan untuk meminta
akses ke shared bus
BUSY’ Input/output busy menunjukkan, sebagai output
bahwa 8289 mendapat shared bus. Sebagai input
digunakan untuk mendeteksi apakah 8289 yang lain
telah mendapatkan shared bus
CBRQ’ I/O common bus request digunakan ketika
mikroprosesor dengan prioritas lebih rendah
meminta penggunaan shared bus. Sebagai output,
pin ini menjadi logika 0 ketika 8289 meminta shared
bus dan tetap rendah sampai 8289 mendapat akses
ke shared bus.
CLK Input clock dibangkitkan oleh generator clock 8284
dan menyediakan sumber timing internal untuk
8289.
CRQLK’ Input common request clock mencegah 8289
menyerahkan shared bus ke 8289 yang lain dalam
sistem. Pin ini berfungsi dalam hubungannya
dengan pin CBRQ’
INIT’ Input inisialisasi mereset 8289 dan biasanya terhubung
ke RESET sistem.
IOB’ Input bus I/O memilih apakah 8289 beropasi pada
sistem shared bus (jika dipilih oleh RESB) dengan I/O
(IOB’=0) atau dengan memori dan I/O (I/OB’=1).
LOCK’ Input lock mencegah 8289 membiarkan mikroprosesor
lain mendapat akses ke shared bus.
RESB Input residen bus adalah hubungan pembatas yang
memungkinkan 8289 bekerja pada sistem yang memiliki
sistem shared bus atau resident. Jika RESB=1, 8289
dikonfigurasikan sebagai master dari shared bus. Jika
RESB=0, 8289 dikonfigurasikan sebagai master shared
bus, akses diminta melalui pin input SYSB/RESB’
S2, S1 dan S0 Input status mengawali permintaan dan
pelepasan shared bus. Pin-pin ini berhubungan dengan
pin-pin status pada 8288.
SYSB/RESB’ Input sistem bus / resident bus memilih sistem
shared bus ketika ditempatkan pada logika 1 atau bus
lokal residen ketika ditempatkan pada logika 0.
Operasi umum 8289
8289 dapat dioperasikan dalam tiga model, yaitu :
1) Mode bus periferal I/O, semua alat pada bus lokal
diperlakukan sebagai I/O.
2) Mode bus resident, memungkinkan akses memori dan
I/O pada bus lokal dan share bus.
3) Mode single bus, mengantarmuka mikriprosesor
dengan shared bus, tetapi mikroprosesor dianggap
tidak memiliki memori lokal atau I/O lokal.
Mode Hubungan Pin
Bus single IOB’=1 dan RESB=0
Bus resident OB’=1 dan RESB=1
Bus I/O IOB’=0 dan RESB=0
Bus I/O dan bus resident IOB’=0 dan RESB=1
Pertemuan 13

KOPROSESOR ARITMATIKA
PENDAHULUAN

Koprosesor aritmatika dari keluarga intel meliputi 8087,


80387SX, 80387DX, dan 80487SX. Mikroprosesor 80486DX
sampai Pentium, memiliki koprosesor aritmatika yang sudah
terintegrasi dalam serpihnya.
Kerabat koprosesor 80X87 dapat menambahan mengurangi,
mengalikan, membagi, mencari akar kuadrat, menghitung
tangen parsial, arctangen parsial dan logaritma.
Jenis datanya meliputi
1.Signed-integer (integer bertanda) 16, 32 dan 64 bit.
2.Data BCD 18 digit.
3.Bilangan floating point 32, 64 dan 80 bit
Operasi yang dilakukan oleh 80X86 biasanya dieksekusi
jauh lebih cepat dari operasi serupa yang dituliskan dengan
program yang paling efisien yang menggunakan set
instruksi normal mikroprosesor.
Multimedia Extension (MMX) untuk Pentium adalah
instruksi-instruksi bagi sebuah peranti yang mirip dengan
koprosesor aritmatika. Bahkan ekstensi MMX memakai
secara bersama register koprosesor.
Ekstensi MMX merupakan prosesor internal khusus yang
dirancang untuk mengeksekusi instruksi dengan kecepatan
tinggi untuk peranti multimedia.
FORMAT DATA UNTUK KOPROSESOR
ARITMATIKA

A. Signed Integer.
Ketika digunakan bersama prosesor aritmatika, integer
bertanda mempunyai lebar
16 bit (word), berkisar antara nilai –32.768 sampai +32767
32 bit (short integer), berkisar antara 2x10+9
64 bit (long integer), berkisar antara 9x10+18
Bilangan positif disimpan dalam bentuk aslinya dengan
sign bit (bit tanda) paling kiri bernilai 0, dan bilangan negatif
tersimpan dalam bentuk two’s complement dengan bit
tanda paling kiri berlogika 1.
Data disimpan dalam memori dengan menggunakan
direktif assembler :
DW mendefinisikan word
DD mendefinisikan short integer
DQ mendefinisikan long integer

Contoh 13.1
0000 0002 DATA1 DW +2
0002 FFDE DATA2 DW -34
0004 000004D2DATA3 DD +1234
0008 FFFFFF9CDATA4 DD -100
000C 0000000000005BA0 DATA5 DQ +23456
0014 FFFFFFFFFFFFFF86 DATA6 DQ -122
B. BCD

BCD membutuhkan memori 80 bit. Setiap bilangan disimpan


sebagai integer 18 digit yang dimasukkan dalam sembilan byte
memori, sehingga satu byte memuat dua digit. Byte kesepuluh
hanya berisi untuk bilangan signed BCD 18 digit. Untuk
menyimpan data BCD pada memori digunakan direktif DT.
Contoh :
0000 000000000000000200 DT 200
000A 800000000000000010 DT -10
0014 000000000000010020 DT 10020
C. Floating Point

Bilangan floating point seringkali disebut bilangan real, karena


menyimpan signed integer, fraksi, dan bilangan campuran.
Bilangan floating point mempunyai tiga bagian : sign bit,
eksponen dengan bias, dan signifikan.
Koprosesor aritmatika dari kerabat intel medukung tiga jenis
bilangan floating point yaitu :
1. short 32 bit disebut bilangan presisi tunggal, terdiri dari
satu bit tanda, delapan bit eksponen dan 23 bit
signifikan.
2. long 64 bit disebut bilangan presisi ganda, terdiri dari
satu bit tanda, 12 bit eksponen dan 52 bit signifikan.
3. temporare 80 bit disebut bilangan presisi extended,
terdiri dari satu bit tanda, 16 bit eksponen dan 63 bit
signifikan.
Konversi dari desimal kebentuk floating point dilakukan
melalui langkah-langkah berikut

1.konversi bilangan desimal menjadi biner

2.netralisasi bilangan biner

3.hitung eksponen bias

4.simpan bilangan dalam bentuk floating point


Contoh :
Konversikan bilangan desimal 100.25 ke bentuk floating point
presisi tunggal 32 bit
Langkah hasil :
• 10.25(10)= 1100100.01
• 1100100.01=1.10010001x26
• 110 + 01111111 = 1000010
• eksponen bias = 110
• bias = 01111111 (7FH)
• bilangan presisi ganda menggunakan bias 3FFFH
• tanda = 0
• eksponen = 10000101 (8 bit)
• signifikan = 10010001000000000000000 (23 bit)
Konversi dari bentuk floating point ke desimal, dilakukan
dalam beberapa langkah berikut :

• pisahkan bit tanda, eksponen bias dan signifikan

• konversi eksponen bias menjadi eksponen


sesungguhnya dengan mengurangi bias.

• tuliskan bilangan tersebut sebagai bilangan biner yang


dinormalisasi.

• konversi ke bilangan biner de-normalisasi

• konversi bilangan biner de-normalisasi ke desimal.


Contoh
• tanda = 1
• eksponen = 10000011 (8 bit)
• signifikan = 10010010000000000000000 (32 bit)
• 100 = 10000011 – 01111111
• 101001001x24
• 11001.001
• –25.125
Menyimpan data floating point di memori menggunakan
direktif DD, DQ dan DT
Pertemuan 14

ANTAR MUKA BUS


1. Bus ISA (International Standard Architecture)

Bus ISA telah berubah dari masa awalnya :


• ISA Standar 8-bit
• ISA 16 bit
• EISA 32 bit
Apa yang ada saat ini pada sebagian PC adalah slot
(hubungan) ISA pada mainboard yang dapat menerima card
ISA 8-bit atau card rangkaian tercetak ISA 16-bit .
Card rangkaian tercetak 32-bit lebih sering merupakan PCI,
pada beberapa mesin berbasis 80486 yang lebih tua berupa
card VESA.
Bus ISA 8-bit

Konektor bus ISA berisi :


- seluruh bus alamat de-multiplexed (A0-A19) untuk 1M
byte sistem 8088
- bus data 8 bit (D0-D7)
- empat sinyal kendali : MEMR’, MEMW’, IOR’, IOW’,
untuk mengendalikan I/O dan memori yang mungkin
diletakkan pada card rangkaian tercetak
Dimasa kini, memori jarang ditambahkan ke card bus ISA,
karena hanya beroperasi pada kecepatan 8 MHz. Mungkin
ada EPROM atau flash memory yang digunakan untuk
informasi setup pada beberapa card ISA, tetapi tidak pernah
ada RAM.
Bus ISA 16-bit

Satu-satunya perbedaan antara bus ISA 8-bit dengan 16-bit


adalah adanya konektor tambahan yang dipasangkan
dibelakang konektor 8-bit. Card ISA 16-bit memiliki dua
konektor sisi : satu terpasang ke konektor 8-bit yang asli dan
yang satu lagi dipasangkan ke konektor 16-bit yang baru.
Fitur-fitur tambahan yang paling sering digunakan adalah input
interrupt request tambahan dan sinyal DMA request.
Pada beberapa sistem, I/O 16-bit menggunakan delapan
hubungan bus data tambahan (D8-D15), tetapi lebih sering
saat ini, bus EISA, bus lokal VESA atau bus PCI digunakan
untuk periferal yang lebih lebar dari delapan bit.
2. Extended ISA (EISA) dan Bus Lokal VESA
EISA merupakan modifikasi 32-bit dari bus ISA. Sementara
komputer menjadi bertambah besar dan memiliki bus data yng
lebih lebar (80386-pentium II), diperlukan bus baru yang akan
mentransfer data 32-bit. Walaupun bus EISA tampaknya
makin menghilang, bus ini merupakan batu loncatan dalam
evolusi bus sistem komputer.
Masalah utama dalam bus EISA adalah walaupun bus data
sudah dilebarkan 32-bit, namun kecepatan clock tetap 8 MHz,
yang merupakan sebab mengapa standard antarmuka ini
memiliki semua namun menghilang. Perhatikan bahwa bus
lokal VESA yang lebih baru dan bus PCI keduanya beroperasi
dengan kecepatan yang lebih tinggi (33 MHz).
Aplikasi yang paling umum untuk bus EISA adalah sebagai
kontroler disk atau adapter grafik video. Aplikasi ini
mendapat keuntungan dari bus data yang lebih lebar
karena kecepatan transfer dari peranti-peranti ini tinggi.

Pin-Out Bus EISA.


Satu perubahan menarik dari ISA ke EISA adalah jarak
antara pin 0,05” dan bukan 0,1”, sebagaimana pada
konektor sisi bus ISA. Pin-pin baru pada bus EISA
disisipkan diantara pin-pin yang lebih lama pada pasangan
konektor ISA 16-bit standar. Hal ini menyebabkan
penyisipan sedikit sulit, tetapi mempertahankan
kompatibilitas dengan standar ISA yang lama.
3. Bus Lokal VESA (Video Electronics Standards
Association)
Pendekatan yang lebih baik untuk pengantarmukaan 32-bit
adalah bus lokal VESA. Bus EISA hanya beroperasi pada 8
MHz, sementara bus lokal VESA beroperasi pada 33 MHz. Ini
berarti bahwa aplikasi tersebut memerlukan keuntungan
transfer data kecepatan tinggi dari bus lokal VESA
Seperti bus EISA, bus lokal VESA juga merupakan ekstensi
bus ISA. Perbedaannya adalah bus lokal VESA tidak
menambahkan apapun ke konektor 16-bit, melainkan sebuah
konektor ketiga (konektor VESA) ditambahkan konektor ISA
16-bit. Hubungan pada bus VESA sangat mirip dengan card
bus EISA. Bus lokal VESA juga memiliki bus alamat dan data
32-bit untuk meng-antarmuka-kan memori atau I/O dengan
mikroprosesor.
4. Bus Peripheral Component Interconnection
(PCI)
Bus PCI secara virtual merupakan satu-satunya bus yang
ditemukan pada sistem pentium II terbaru dan hampir
semua sistem pentium.
Bus PCI mempunyai karakteristik plug and play dan
kemampuan untuk berfungsi dengan bus data 32 atau 64
bit serta 32 bit bus alamat.
5. Universal Serial Bus (USB)

Di tahun 1994, Gabungan dari empat produsen komputer dan


elektronika (Compaq, Intel, Mifrosoft dan NEC) memulai
usaha untuk membuat spesifikasi bus baru yang pada
awalnya didesain untuk keperluan koneksi PC ke line telepon
dan perluasan port.
USB mendukung plug ‘n’ play dengan load dan unload driver
yang dinamis. Pemakai tinggal menghubungkan USB
kedalam bus, host (komputer) akan mendeteksi kehadiran
peranti ini, mengeceknya dan memasang driver yang
diperlukan. User tidak perlu khawatir akan terminasi, setting
IRQ, alamat port, atau reboot komputer. Jika telah selesai
menggunakan, peranti USB tersebut dapat dicabut langsung
dari host tanpa mematikan komputer terlebih dahulu.
6. Accelarate Graphics Port

Penambahan terakhir dari sistem komputer adalah


penambahan AGP yang beroperasi pada clock frekuensi bus
mikroporosesor.

AGP dirancang sedemikian rupa sehingga transfer antara


video card dan memori sistem dapat bekerja pada kecepatan
maksimum 528 Mbps
Gambar 14-1.
Struktur komputer modern, mengilustrasikan semua bus
PERTEMUAN 15

Review Materi
&
Kuis

Anda mungkin juga menyukai