Anda di halaman 1dari 224

MIKROPROSESOR

Jl. Suroto Kunto N0.47 Rawa Gabus Johar Karawang


Telepon : (0267) 400475 4000476
http://www.pranataindonesia.ac.id
Mikroprosesor / Ir.Sahrum,M.M.

MIKROPROSESOR
Dosen : Ir. Sahrum, MM
Alamat : Dusun Sukamaju Rt.02 Rw.10
Cikampek Timur Cikampek
Kode Pos: 41373
HP
:
Home : (0264)
Email :
Web :
Mikroprosesor / Ir.Sahrum,M.M.

SAP MIKROPROSESOR

1. KONSEP DASAR ARSITEKTUR MIKROPROSESOR


2 DAN 3 DIAGRAM BLOK MIKROPROSESOR, REGISTER
4. HIMPUNAN INSTRUKSI
,
Pengertian Himpunan Instruksi
Mnemonic
Jenis Instruksi
5. JENIS PENGALAMATAN
6 KOMUNIKASI DENGAN MIKROPROSESOR
7 DAN 8 SISTEM INTERUPSI

9. DIRECT MEMORY ACCESS


STUDI KASUS
STUDI KASUS
Mikroprosesor / Ir.Sahrum,M.M.

KESEPAKATAN
Mata Kuliah
SKS : 2

: Mikroprosesor

Tatap Muka
: 14 x pertemuan
pertemuan ke 7 = Mid
semester
pertemuan ke 14 = ujian
semester
Penilaian :
Kehadiran = 10%
Tugas = 20%
Mid Smt = 30%
Ujian Smt = 40%

Grade
A
B
C
D
E

Range Nilai
=81 100
=66 80
=55 65
=45 54
=<44

TATA TERTIB

Kehadiran :
Toleransi keterlambatan 15 Menit
If ada yg mengabsenkan temannya then :
yang mengabsenkan = alpa (tk)
Yang diabsenkan juga = alpa (tk)
diakhir pertemuan dilakukan pengabsenan
ulang
Kehadiran berpengaruh kepada kemampuan
dalam penyerapan materi yg diberikan

TATA TERTIB

Lain-Lain :
- Waktu perkuliahan
Tidak boleh pakai kaos oblong
Kaos harus berkerah
Tidak boleh merokok
Harus memakai sepatu

MIKROPROSESOR

PENDAHULUAN

Mikroprosesor / Ir.Sahrum,M.M.

Pengantar Mikroprosesor
8

Mikroprosesor Ideal??
Mikroprosesor / Ir.Sahrum,M.M.

Input 1/0

Program

Mikroprosesor : merupakan suatu


alat digital yang bekerja :
Menerima data dari sejumlah
masukan,
memproses data menurut
ketentuan-ketentuan program
yang disimpan dan
menghasilkan sejumlah sinyal
keluaran sebagai akibat dari
pemrosesan data tersebut.

Keluaran 1/0

Mikroprosesor Ideal
Program :
suatu kumpulan dari serangkaian perintah yang berurutan yang
menentukan bagaimana suatu data masukan diproses dan informasi
apa yang harus dikirmkan ke saluran-saluran keluaran akibat data
dari masukan ini.
Masukan (N) dan keluaran (M) dihubungkan ke perangkat/alat
Logika 1/0.
Keluaran dari Mikroprosesor (MP) ditentukan :
1.
Riwayat yg lengkap dari sinyal masukan ke MP sampai saat ini.
2.
Program yang disimpan
Contoh Aplikasi :
- Sistem Komputer
- MP untuk mengendalikan lampu lalulintas dengan sistem cerdas.

BUS DATA
10

MP pada kenyataanya tidak


seperti
MP
ideal,
ada
keterbatasan saluran N, M
dan program/serta memori
yang simpan.
Biasanya N=M
Lebar jejak data (ukuran
kata = word size)
Saluran N dan M, untuk
mengangkut data ke dan
dari MP Bus Data (satuan
= bit)
8 bit = 1 byte
4 bit = 1 nyble
Mikroprosesor / Ir.Sahrum,M.M.

11

Contoh sebuah MP 4
bit
4 saluran masukan
dan 4 saluran
keluaran.
Simbol bisa dilihat
pada gambar.

Mikroprosesor / Ir.Sahrum,M.M.

Pengenalan Biner, Octal dan Hexadesimal


12

MSB dan LSB.


Pada gambar 1-4 :
D7 MSB
D0 LSB
MSB 1110 1011 LSB
ditulis degan cara :
11101011 B atau 111010112
Konversi biner ke desimal atau
sebaliknya?

Mikroprosesor / Ir.Sahrum,M.M.

Angka Oktal
13

Oktal : bilangan berbasis


8
Mengenal 0 - 7
Konversi ke Biner :
Contoh : 11101011 B?
11 101 011 biner
3 5 3 oktal
Akan ditulis :
353 Q atau 3538
Mikroprosesor / Ir.Sahrum,M.M.

Heksadesimal
14

Bilangan berbasis 16
0 9, A F
Konversi Biner ke Hexa
1110 1011 Biner
E
B Heksadesimal
Akan ditulis :

EB H atau EB16
Lebih ringkas dan efisien
dalam pemulisan daripada
binernya

Mikroprosesor / Ir.Sahrum,M.M.

Bus Data 2 arah


15

Mengapa 2 arah :
Efisiensi ruang/ bentuk
sebuah MP dan
penyemat (pin)
DBIN pengontrol
DBIN = 1
Mode masukan
DBIN = 0
Mode keluaran
Notasi ??
Mikroprosesor / Ir.Sahrum,M.M.

BUS ALAMAT
16

Memori dalam MP akan


terbatas, perlu
penyimpanan di luar MP
Bus Alamat
Proses :

Penulisan memori

Pembacaan memori
Informasi disimpan dalam
memori pada suatu
kumpulan lokasi memori.
Setiap lokasi memori
mempunyai Alamat
memori tertentu (ditulis
dalam notasi Heksa)
Mikroprosesor / Ir.Sahrum,M.M.

Memori
17

MP dengan p saluran alamat


maka dia bisa dihubungkan
dengan 2P alamat tertentu.
MP Z80 dengan 16 saluran
alamat, makan memori yang
secara langsung bisa
dihubungi :
216 = 65636 Bytes = 64 KB)
1 KByte = 1024 Byte

Mikroprosesor / Ir.Sahrum,M.M.

Address Word
18

Kata alamat (address word) dalam


suatu MP biasa dinyatakan
dalam Hexadesimal (lebih
simpel daripada biner-nya).
Contoh : Bus alamat 16 bit (dari
A0 A15) dengan alamat busnya 1110001111111111 akan
ekivalen dengan :
1110 0011 1111 1111 biner
E 3
F
F
hexa

Mikroprosesor / Ir.Sahrum,M.M.

Ruang Memori
19

Seluruh kumpulan dari lokasi


memori suatu MP yang dapat
dihubungi.
Menggunakan notasi Heksa
Pada bus alamat 16 bit alamat
0000 H FFFF H
(65536 ruang memori)
1 ruang memori 1 Byte.
210 = 1024 (kilo kata/ Kilo
word)

Mikroprosesor / Ir.Sahrum,M.M.

Ruang Memori
20

Pemahaman tentang Ruang


Memori.
Misalnya :
0000 - 0FFF 4 KByte
1000 - 1FFF 4 KByte
0000 FFFF 64 KByte

Mikroprosesor / Ir.Sahrum,M.M.

Ruang
Memori
21

Pemahaman tentang
Ruang Memori
Misalnya :
0000 03FF 1 KB
0400 07FF 1 KB
0800 0BFF 1 KB
0C00 0FFF 1 KB
0000 00FF 1 halaman
(1 page) KB
Mikroprosesor / Ir.Sahrum,M.M.

Bus
Pengendali
22

Mengendalikan 2 Bus
yang lain, pengendali
masukan dan keluaran
u/ meyerempakan
dengan perangkat luar.
Misalnya :
DBIN
(Pengendali Bus data 2
arah)

Mikroprosesor / Ir.Sahrum,M.M.

Mikroprosesor secara Umum


23

Terdiri dari:
1.????
2, ????
3. ????

Proses kerjanya bagaimana?


Perlu Memori (bisa
internal/ekstenal).

Mikroprosesor / Ir.Sahrum,M.M.

Mikroprosesor

Pengertian Mikroprosesor

Mikroprosesor / Ir.Sahrum,M.M.

24

Pengertian Mikroprosesor
25

Mikroprosesor adalah suatu pemroses mikro yang dapat


menjalankan suatu urutan instruksi (program) untuk
mencapai suatu tujuan/fungsi tertentu.
Untuk
menjalankan fungsinya, suatu mikroprosesor
biasanya memerlukan dukungan
n ROM (Read Only Memory), untuk menyimpan program
n RAM (Random Access Memory), untuk menyimpan
data
n I/O unit, sebagai interface untuk mengambil data dari
luar dan mengeluarkan data hasil proses

Mikroprosesor / Ir.Sahrum,M.M.

Saluran Standar
Mikroprosesor
26

Mikroprosesor / Ir.Sahrum,M.M.

Faktor Penentu Kinerja Mikroprosesor

27

l Clock Speed (mis : Pentium 100 MHz,


Pentium 1.3 GHz)
l Lebar Bus Data
l Lebar Bus Alamat
l Bus Speed
l Arsitektur (cache memory, pipeline, dll)

Mikroprosesor / Ir.Sahrum,M.M.

Evolusi Mikroprosesor
28

Intel :
4004, 8008, 8086, 80286, 80486, Pentium,
Pentium Pro
l Motorola :
l Zilog : Z80, Z8000

Mikroprosesor / Ir.Sahrum,M.M.

Konfigurasi Standar Sistem Mikroprosesor


29

Mikroprosesor / Ir.Sahrum,M.M.

Saluran-Saluran Pada Bus


Alamat
30

Mikroprosesor / Ir.Sahrum,M.M.

Saluran-Saluran Pada Bus


Data
31

Mikroprosesor / Ir.Sahrum,M.M.

Saluran-Saluran Penting Pada Bus Kontrol


32

Mikroprosesor / Ir.Sahrum,M.M.

Baca Tulis Memori dan I/O


33

Mikroprosesor / Ir.Sahrum,M.M.

Contoh Instruksi dan Status


Saluran
34

Mikroprosesor / Ir.Sahrum,M.M.

RAM
35

Mikroprosesor / Ir.Sahrum,M.M.

Saluran Penting RAM


36

Mikroprosesor / Ir.Sahrum,M.M.

Hubungan RAM dengan Mikroprosesor


37

Mikroprosesor / Ir.Sahrum,M.M.

ROM
38

Mikroprosesor / Ir.Sahrum,M.M.

Saluran Penting Memori


(ROM)
39

Mikroprosesor / Ir.Sahrum,M.M.

Hubungan ROM dengan Mikroprosesor


40

Mikroprosesor / Ir.Sahrum,M.M.

Penentuan address decoder


41

Mikroprosesor / Ir.Sahrum,M.M.

Rangkaian Lengkap
42

Mikroprosesor / Ir.Sahrum,M.M.

Kapasitas RAM dan ROM


43

Pada kenyataannya, kapasitas RAM dan


ROM tidak sekecil seperti contoh yang
sudah kita bahas (4 byte)
l RAM dan ROM biasanya berkisar mulai
ratusan byte sampai dengan ratusan
kilobyte atau bahkan mega byte.

Mikroprosesor / Ir.Sahrum,M.M.

Hubungan dengan unit I/O


44

Hubungan mikroprosesor dengan unit I/O dilakukan dengan


cara yang sama seperti penentuan hubungan memori

Kapasitas alamat I/O biasanya jauh lebih kecil daripada


memori, berkisar antara beberapa lokasi (kurang dari 10)
sampai dengan puluhan atau ratusan lokasi alamat.

Beberapa informasi penting :

Untuk besaran digital, pada prinsipnya dapat dihubungkan


langsung dengan unit I/O

Untuk besaran analog, harus ditambahkan unit A/D atau D/A


converter

Untuk tegangan/arus tinggi biasanya dilakukan isolasi supaya


tidak merusak mikroprosesor
Mikroprosesor / Ir.Sahrum,M.M.

Pemrograman
45

Dalam sistem mikroprosesor, semua


bagian
sistem
dikendalikan
oleh
mikroprosesor.
Mikroprosesor harus dilengkapi dengan
program untuk menentukan bagaimana
sistem harus bekerja
Program biasanya dibuat dalam bahasa
mesin atau asembler, disimpan dalam
ROM
Mikroprosesor / Ir.Sahrum,M.M.

Mikrokontroler
46

Untuk bekerja, mikroprosesor perlu dukungan


RAM, ROM dan unit I/O, sehingga jumlah chip
yang dibutuhkan tidak satu dan perlu
interkoneksi eksternal yang tidak sederhana.
Mikrokontroler adalah mikroprosesor yang
sudah dilengkapi dengan RAM, ROM dan I/O
yang dikemas dalam kemasan single chip.
Mikrokontroler digunakan secara luas pada
berbagai aplikasi.
Mikroprosesor / Ir.Sahrum,M.M.

Contoh Aplikasi
47

Mikroprosesor / Ir.Sahrum,M.M.

Mikroprosesor

PERTEMUAN KE-3
DIAGRAM BLOK MIKROPROSESSOR

Mikroprosesor / Ir.Sahrum,M.M.

48

Macam Macam Komputer

APPLE iMAC

DELL LATITUDE

SONY Play
Station

IBM Z900

Paralax Basic
Stamp

SUN CT400

Compaq iPaq

Struktur Komputer
Central Processing Unit (CPU): untuk
mengolah instruksi program yang
diberikan
Input & Output Circuity/Interface: untuk
mengatur komunikasi antara komputer
dengan perangkat luar
Memori: untuk menyimpan program dan
data

Personal Computer
CPU

Memori

I/O
Interfa
ce

Motherboard

Gigabyte GA-8IPE1000 Pro2-W

CPU (Central Processing Unit)


Bagian dari komputer yang mengolah
data, mengambil instruksi dari
memori, mengkode instruksi dan
menjalankan program

Mikroprosesor adalah sebuah chip (IC)


yang bekerja dengan program
Fungsi Mikroprosesor adalah sebagai
pengontrol atau pengolah utama dalam
suatu rangkaian elektronik
Mikroprosesor biasa disebut juga CPU
(Central Processing Unit)

Di dalam Mikroprosesor minimalCara kerja


sebuah Mikroprosesor diarahkan oleh
suatu program dalam kode-kode bahasa
mesin yang telah dimasukkan terlebih
dahulu ke dalam sebuah memori
terdiri dari rangkaian digital, register,
pengolah logika aritmatika, rangkaian
sekuensial

Perbedaan Mikroprosesor dan Mikrokontroler

Mikroprosesor adalah bagian CPU (Central


Processing Unit) dari sebuah komputer,
tanpa memori, tanpa I/O, dan peripheral
yang dibutuhkan oleh sebuah sistem
lengkap. Contoh : 8088, 80X86, 8031
Mikrokontroler
adalah
sebuah
Mikroprosesor
yang
dikombinasikan
dengan I/O dan memori (RAM/ROM).
Contoh : AT89C51, 68HC11, BS2SX

Mikrokontroler biasa disebut juga


Single Chip Microcomputer (SCM)
yaitu sebuah Mikrokomputer yang
dikemas dalam sebuah chip tunggal.
Namun ada perbedaan antara
Mikrokomputer sdengan
Mikrokontroler, yaitu pada
penggunaan perangkat I/O dan
media penyimpan. IBM PC
menggunakan disket atau harddisk
sebagai media penyimpan, sedang
Mikrokontroler menggunakan
EPROM

Mikrokontroler

Komponen Mikroprosesor
Arithmetic and Logic Unit (ALU):
untuk mengolah / memanipulasi data
Control Unit:
untuk menentukan waktu, urutan, dan kecepatan dari
operasi
Register:
untuk menyimpan data sementara meskipun instruksi
sedang dieksekusi
Register

ALU

Control Unit

Program Counter

Accumulator

Memory Address

Status Register

Instruction
Register

Register
Accumulator : data yang dioperasikan oleh ALU
Status register : status dari proses
Instruction pointer (IP) : lokasi dari kode
Memory address register : alamat dari data
Instruction register : instruksi-instruksi dari
register
General-purpose register : tempat
penyimpanan sementara untuk data atau
alamat
Stack pointer register (SP) : area khusus dari
memori untuk menyimpan alamat. Berlaku
sistem FILO

Memori

Address

Memori

Control
Signal

Data

Jenis - Jenis Memori


Untuk menyimpan Firmware:
Read Only Memory (ROM) : Fixed program
Programmable ROM (PROM) : One time
rogrammable
Erasable and Programmable ROM (EPROM) :
Erasable with Ultraviolet light
Electrically Erasable PROM (EEPROM) :
Erasablelectricity

Untuk menyimpan Software :


Random Access Memory (RAM) : Read/write
memory

ROM
Diprogram oleh pabrik pembuat IC ROM
Tidak ada data yang dapat ditulis ke
dalam ROM
Data hanya dapat dibaca dan digunakan
untuk program yang permanen
Data tidak akan hilang meskipun
tegangan listrik dihilangkan (bersifat
non-Volatile)
Misalnya : sistem BIOS, printer, CD-ROM,
dll.

Lexmark
ROM

PROM, EPROM, & EEPROM


Isi memori dapat diganti atau diprogram
PROM hanya dapat diprogram sekali
EPROM dan EEPROM dapat diprogram
kembali setelah isi memori dihapus oleh
sinar ultraviolet atau tegangan listrik,
seperti Flash memory
Misalnya Flash media, cell phone, home
appliances, dll.

PROM, EPROM, & EEPROM

EEPROM

Programmer

Secure Digital

UV Eraser

RAM
Untuk menyimpan data sementara
Hanya berfungsi jika ada tegangan listrik
(Volatile)
Data akan hilang jika listrik dihilangkan
Termasuk di dalamnya Static RAM,
Dynamic RAM, Synchronous DRAM,
Rambus DRAM, dll.
Misalnya : Computer RAM, printer, dll.

Media Penyimpan Lainnya


Magnetic storage : Hard Disk, Tape, dll.
Optical storage : CD-ROM, CD-R, CD-RW,
DVD, dll.
5 level media penyimpan :
Register
Cache
Memory
Hard Disk
Removable Disk

Input / Output
Untuk
transfer
data
antara
mikroprosesor dan perangkat luar
(peripheral devices)
Interface chips (buffers) digunakan
untuk mensinkronkan data transfer
antara mikroprosesor dan peripheral
devices
Contoh : port serial, parallel, USB,
IEEE 1394, IDE, SCSI, dll.
Data
CPU

Data
Buffer

Peripheral
Devices

CPU Intel

4004

8080

Pentium 3

Pentium
2

Pentium 4

Desain IC

Designer Intel 4004

Federico Faggin, chief designer of Intel


4004

Perkembangan CPU Intel


Width
Clock
Transistors (micron
Speed
)

Data
Width

MIPS

108
KHz

0.06

2 MHz

8/8

0.64

275 K

1.5

16
MHz

32/32

1993

3.1 M

0.8

60
MHz

32/64

100

2000

42 M

0.18

1.5
GHz

32/64

1700

2004

169 M

3.2
GHZ

64/64

Name

Date

4004

1971

2.3 K

8080

1974

6K

80386

1985

Pentium
Pentium 4

Data Width : x/y = x-bit ALU / y-bit bus


MIPS

: Million Instructions Per Second

Sejarah Mikroprosesor
Th. 1946 : Komputer modern pertama
dibuat di University of Pennsylvania USA
yang
disebut
ENIAC
(Electronics
Numerical Integrator and Calculator)
ENIAC terdiri dari 17.000 tabung hampa,
500 mil kabel, berat > 30 ton, dapat
menjalankan 100.000 operasi per detik,
diprogram dengan mengatur jalur kabel
pada rangkaiannya

Th. 1948 : Transistor pertama dibuat di Bell


Labs, USA
Th. 1958 : IC (Integrated Circuit) pertama
dibuat oleh Jack Kilby dari Texas Instrument,
USA
Penemuan IC ini mendorong pengembangan
IC Digital (1960), dan mikroprosesor pertama
oleh Intel (1971)

Penemuan IC ini mendorong pengembangan


IC Digital (1960), dan mikroprosesor pertama
oleh Intel (1971)
Mikroprosesor pertama di dunia adalah Intel
4004 upakanprosesor 4-bit
Kebanyakan Kalkulator masih berbasis
mikroprosesor 4-bit

Th. 1971 : Intel mengeluarkan mikroprosesor


8-bit yaitu Intel 8008
Th. 1973 : Intel memperkenalkan
mikroprosesor 8-bit modern pertama Intel
8080 (10x lebih cepat dari 8008), dan diikuti
Motorola MC6800
Th. 1977 : Intel memperkenalkan 8085 yang
merupakan mikroprosesor 8-bit terakhir yang
dibuat Intel dengan frek.clock dan kecepatan
lebih tinggi
Perusahaan lain yang mampu menyaingi Intel
8085 adalah Zilog Corporation dengan Z80

Th. 1978 : Intel mengeluarkan mikroprosesor


16-bit yaitu 8086, setahun kemudian
mengeluarkan 8088 dengan kecepatan
eksekusi dan memori lebih besar dari 8085,
serta mulai digunakannya cache memori
(sistem antrian yang mengatur pemberian
instruksi sebelum menjalankannya)
Intel 8086/8088 disebut juga CISC (Complex
Instruction Set Computer) karena jumlah dan
kompleksitas instruksinya
Th. 1981 : IBM membuat PC menggunakan
mikroprosesor 8088 untuk menjalankan
aplikasi seperti spreadsheet dan pengolah kata

Th.
1983
:
Intel
mengeluarkan
mikroprosesor 16-bit 80286, dengan
kemampuan memori 16 MB
Th.
1986
:
Intel
mengeluarkan
mikroprosesor 32-bit pertama 80386,
dengan kemampuan memori 4 GB
Th.
1989
:
Intel
mengeluarkan
mikroprosesor 32-bit 80486, dengan
kemampuan memori 4 GB + 8K Cache
Th.
1993
:
Intel
memperkenalkan
mikroprosesor 32-bit Pentium I, Th. 1997
Pentium
II,kemudian
berturut-turut
Pentium III dan Pentium 4 pada Th. 2000,
dimana mulai digunakan teknologi memori
RAMBUS menggantikan teknologi SDRAM

Mikroprosesor Masa Depan


Perubahan ke teknologi RISC
Parallel Processing tanpa mengubah
set instruksi dengan register yang
sama
Versi
Intel
berikutnya
Parallel
Processing dengan register sendirisendiri
Akhir Th. 2002 Intel mulai berencana
mengeluarkan mikroprosesor 64-bit
dgn bus data 128 bit bekerjasama
dengan Hewlett Packard

Perkembangan Pemrograman
Bahasa pemrograman pertama adalah
Bahasa Mesin terdiri dari kode biner
yang disimpan dalam sistem memori
komputer sebagai sekelompok instruksi
yang
disebut
program,
yang
dikembangkan pertama kali oleh John
Von Neumann, seorang ahli matematika.

Th. 1950 : Bahasa Assembler


diperkenalkan pertama kali ketika
komputer UNIVAC mulai muncul. Bahasa
Assembler menggunakan kode mnemonic
FLOW-MATIC merupakan Bahasa
pemrograman tingkat tinggi pertama
dibuat oleh Grace Hopper
Th. 1957 : IBM mengembangkan bahasa
FORTRAN (Formula Translator)
Th. 1958 : ALGOL (Algoritma Language)
diperkenalkan

Bahasa pemrograman pertama yang


banyak digunakan untuk aplikasi bisnis
adalah COBOL (Computer Business
Oriented Language)
Pada saat ini, banyak muncul bahasa
pemrograman yang lain seperti BASIC,
C/C++, PASCAL, dll.
Versi baru dari bahasa BASIC, yaitu
VISUAL BASIC mungkin akan
menggantikan C/C++ atau PASCAL

Mikroprosesor

HIMPUNAN INSTRUKSI

Mikroprosesor / Ir.Sahrum,M.M.

83

Desain Set Instruksi


84

Pekerjaan yang paling signifikan/penting dan


kompleks dalam mendesain komputer adalah
membuat set instruksi.
Komputer
era
sebelumnya
tidak
melakukan
perencanaan set instruksi.
Kelemahan desain set instruksi mereka secara drastis
mempengaruhi ruang memori utama oleh panjang
program (bahasa mesin). Karena itu, desain yang
baik, perencanaan awal set instruksi memungkinkan
compiler membuat kode objek yang kompak
(tersusun baik dan padat) tersimpan pada ruang
memori.
Mikroprosesor / Ir.Sahrum,M.M.

85

Seorang arsitektur komputer harus mempertimbangkan aspek-aspek


berikut sebelum menyelesaikan set instruksi:
1. Kenyamanan Pemrograman: Jumlah instruksi; pemrogram lebih
suka mempunyai sebanyak mungkin instruksi supaya operasi yang tepat
dapat dikerjakan oleh rangkaian instruksi. Tetapi mempunyai terlalu
banyak instruksi dalam set instruksi menghasilkan desain unit kontrol yang
kompleks. Pendekokean instruksi memerlukan sirkuit dan waktu yang
besar.
2. Pengalamatan yang fleksibel: pemrogram senang jika
memungkinkan semua mode pengalamatan operand ada di dalam
arsitektur. Hal ini memberikan fleksibilas yang banyak kepada
pemrogram.Walaupun desain unit kontrol menjadi kompleks.
3. Jumlah General Purpose Register (GPR): Jika CPU mempunyai
register yang banyak, pemrogram memperoleh pemrosesan dan transfer
data yang cepat. Tetapi biaya perangkat keras CPU meningkat dengan
banyaknya GPR.
Mikroprosesor / Ir.Sahrum,M.M.

>> Lanjutan
86

4. Target Segmen Pasar: sasaran bidang aplikasi untuk


komputer memerlukan operasi-operasi khusus untuk pemrosesan
data yang efisien. Komputer saintifk harus mempunyai aritmetika
floating-point yang tingkat presisinya baik/tidak terlalu jelek.
Sedangkan komputer bisnis harus mendukung aritmetika desimal,
komputer iburan harus mempunyai operasi-operasi multimedia.
5. Kinerja Sistem: Jika sebuah program mempunyai instruksi
sedikit, kinerja sistem meningkat karena waktu yang digunakan
oleh CPU dalam pengambilan instruksi berkurang. Untuk program
yang pendek, instruksi yang digunakan harus instruksi kompleks.
Jadi instruksi tunggal harus dapat melakukan beberapa
mikrooperasi. Pemrogram menyadari hal ini mengurangi ukuran
program. Tapi di sisi lain menambah kompleksitas unit kontrol dan
waktu eksekusi instruksi. Konsep modern arsitektur RISC tidak
mendukung
instruksi-instruksi
kompleks,
walaupun
semua
komputer lama yang berbasis CISCmenggunakan instruksi-instruksi
kompleks.
Mikroprosesor / Ir.Sahrum,M.M.

SET INSTRUKSI
1.
2.
3.
4.
5.
6.

Intstruksi Transfer Data


Instruksi Aritmetika
Instruksi Looping
Instruksi Jump
Operasi Stack
Operasi Logika

1. TRA

INSTRUKSI TRANSFER DATA

MOV
Format : MOV [operarand-1],[operand-2]
Operand 1 : Register, Variabel, Lokasi Memory
Operand 2 : Register, Variabel, Lokasi Memory,
Bilangan

MOV AH,AL ; menduplikatkan isi register AL ke


register AH.
Operand 1 : Register AH
Operand 2 : Register AL

Instruksi Transfer Data (Cont.)

MOV AH,02 ; memasukkan bilangan 02 ke


register AH
Operand 1 : Register AH
Operand 2 : Bilangan 02

INSTRUKSI ARITMATIKA

INC (Increment), operasi pertambahan dengan


satu
Format : INC [Register/Variabel]

A=A+1

DEC (Decrement), operasi pengurangan dengan


satu
Format : DEC [Variabel/Register]
A=A1

Instruksi Aritmetika

(Cont.)

Operasi Pertambahan Selain Satu


Format : ADD [operand-1, operand-2] ;
menjumlahkan isi operand 1 dengan operand 2
dan hasil disimpan di operand 1
Operand 1 : Register, Variabel
Operand 2 : Register, Variabel, Bilangan

AH .. 10
AL ..
5 +
AH . 15

Instruksi Aritmatika

(Cont.)

Operasi Pengurangan Selain Satu


Format : SUB [OPERAND 1, OPERAND 2]
mengurangkan isi operand 1 dengan operand 2 dan
hasil disimpan di operand 1
Operand 1 : Register, Variabel
Operand 2 : Register, Variabel, Bilangan

AH ..
AL ..
AH

15
10 5

Instruksi Aritmatika

(Cont.)

Operasi Perkalian 8 Bit


Format : MUL [Register]
mengalikan isi register BL dengan isi register AL
dan hasil disimpan di register AX
MUL BL
BL

04

AL
AX ...

08 x
32

Instruksi Aritmatika

(Cont.)

Operasi Perkalian 16 Bit


Format : MUL [REGISTER] ;
mengalikan isi register BX dengan isi register
AX, hasil disimpan di register AX dan DX
MUL BX
BX 12900
AX 10000 x
DX AX 129000000 = 7B0 6240
DX
AX

Instruksi Aritmatika

(Cont.)

Operasi Pembagian 8 Bit


Format : DIV [Register]
membagi isi register AX dengan isi register BL
dan hasil disimpan di register AL dan sisa di
register AH
DIV BL

hasil

sisa
AL AH

BL

AX

Instruksi Aritmatika

(Cont.)

Operasi Pembagian 16 Bit


Format : DIV [Register]
membagi isi register DX :AX dengan isi register BX
dan hasil pembagian dimasukkan dalam register DX
sedangkan sisa hasil pembagian dimasukkan dalam
register AX
DIV BX

hasil

sisa
DX AX

BX

DX:AX

INSTRUKSI LOOPING

LOOP, instruksi Looping


Format : LOOP [lokasi memori]
Mengulang instrksi alamat memory * sebanyak 5
kali. Setiap kali pengulangan processor akan
mengurangi isi register CX sampai 0. Kemudian
proses akan berlanjut ke instruksi di bawah loop.
CX = 5

LOOP *
..

Instruksi Looping

(Cont.)

JMP, instruksi lompatan tak bersyarat


Format : JMP[lokasi memori]
Melakukan lompatan tanpa syarat ke lokasi memori
segment : 0103
JMP 0103

CMP, instruksi lompatan bersyarat


Format : CMP [operand-1],[operand-2]
Operand-1 : variabel, register
Operand-2 : variabel, register, lokasi memori,
bilangan

Instruksi Looping

(Cont.)

Jenis-jenis Lompatan Bersyarat :


100

JE (Jump If Equal)

JNS (Jump On Not Sign)

JNE (Jump If Not Equal)

JC (Jump On Carry)

JG (Jump If Greater Than)

JNG (Jump If Not Greater Than)

JNC (Jump On Not Carry)

JNGE (Jump If Not Greater or Equal)

JCXZ (Jump If CX=0)

JE (Jump If Less Than)

JB (Jump If Below)

JLE (Jump If Less or Equal)

JBE (Jump If Below or Equal)

JNL (Jump If Not Less Than)

JNBE (Jump If Not Below or Equal)

JNLE (Jump If Not Less or Equal)

JZ (Jump On Zero)

JA (Jump if Above)

JNZ (Jump On Not Zero

JNA (Jump If Not Above or Equal)

JS (Jump On Sign)

JNAE (Jump If Not Above or Equal)

Mikroprosesor / Ir.Sahrum,M.M.

OPERASI STACK

Operasi yang digunakan untuk menyimpan sementara suatu nilai pada


alamat offset terakhir pada suatu segment

Stack bersifat LIFO (Last In First Out)

Beberapa contoh perintah yang digunakan dalam operasi stack :


PUSH [register 16 bit]
Digunakan untuk menyimnpan nilai di register 16 bit ke dalam stack
POP

[register 16 bit]

Digunakan untuk mengambil kembali stack,kemudian disimpan di register 16 bit


PUSHF

Digunakan untuk menyimpan nilai flag register ke dalam stack


POPF

Digunakan untuk mengambil isi stack, kemudian disimpan di dalam flag register
F.

OPERASI LOGIKA
Beberapa Operasi Logika yang digunakan :
1. AND
2. OR
3. XOR
AND

OR

XOR

Mikroprosesor

Tipe & Format instruksi

Mikroprosesor / Ir.Sahrum,M.M.

103

1. Desain Set Instruksi


104

Pekerjaan yang paling signifikan/penting dan


kompleks dalam mendesain komputer adalah
membuat set instruksi.
Komputer era sebelumnya tidak melakukan
perencanaan set instruksi.
Kelemahan desain set instruksi mereka secara drastis
mempengaruhi ruang memori utama oleh panjang
program (bahasa mesin). Karena itu, desain yang
baik, perencanaan awal set instruksi memungkinkan
compiler membuat kode objek yang kompak
(tersusun baik dan padat) tersimpan pada ruang
memori.
Mikroprosesor / Ir.Sahrum,M.M.

105

Seorang arsitektur komputer harus mempertimbangkan aspek-aspek


berikut sebelum menyelesaikan set instruksi:
1. Kenyamanan Pemrograman: Jumlah instruksi; pemrogram lebih
suka mempunyai sebanyak mungkin instruksi supaya operasi yang tepat
dapat dikerjakan oleh rangkaian instruksi. Tetapi mempunyai terlalu
banyak instruksi dalam set instruksi menghasilkan desain unit kontrol yang
kompleks. Pendekokean instruksi memerlukan sirkuit dan waktu yang
besar.
2. Pengalamatan yang fleksibel: pemrogram senang jika
memungkinkan semua mode pengalamatan operand ada di dalam
arsitektur. Hal ini memberikan fleksibilas yang banyak kepada
pemrogram.Walaupun desain unit kontrol menjadi kompleks.
3. Jumlah General Purpose Register (GPR): Jika CPU mempunyai
register yang banyak, pemrogram memperoleh pemrosesan dan transfer
data yang cepat. Tetapi biaya perangkat keras CPU meningkat dengan
banyaknya GPR.
Mikroprosesor / Ir.Sahrum,M.M.

>> Lanjutan
106

4. Target Segmen Pasar: sasaran bidang aplikasi untuk


komputer memerlukan operasi-operasi khusus untuk pemrosesan
data yang efisien. Komputer saintifk harus mempunyai aritmetika
floating-point yang tingkat presisinya baik/tidak terlalu jelek.
Sedangkan komputer bisnis harus mendukung aritmetika desimal,
komputer iburan harus mempunyai operasi-operasi multimedia.
5. Kinerja Sistem: Jika sebuah program mempunyai instruksi
sedikit, kinerja sistem meningkat karena waktu yang digunakan
oleh CPU dalam pengambilan instruksi berkurang. Untuk program
yang pendek, instruksi yang digunakan harus instruksi kompleks.
Jadi instruksi tunggal harus dapat melakukan beberapa
mikrooperasi. Pemrogram menyadari hal ini mengurangi ukuran
program. Tapi di sisi lain menambah kompleksitas unit kontrol dan
waktu eksekusi instruksi. Konsep modern arsitektur RISC tidak
mendukung
instruksi-instruksi
kompleks,
walaupun
semua
komputer lama yang berbasis CISCmenggunakan instruksi-instruksi
kompleks.
Mikroprosesor / Ir.Sahrum,M.M.

2. CPU berbasis
Akumulator
107

Pada mulanya komputer adalah berbasis akumulator. Hal ini


merupakan CPU yang sederhana, dimana akumulator berisi
satu operand pada instruksi, demikian juga hasilnya disimpan
pada akumulator. Isi akumulator disertakan di dalam operasi0perasi aritmetika seperti penjumlahan, pengurangan dan
sebagainya. Hal ini dikenal sebagai mesin satu-alamat.
PDP-8 merupakan minicomputer pertama yang mempunyai
jenis CPU seperti ini dan digunakan untuk kendali proses dan
aplikasi-aplikasi laboratorium.
Komputer Mark I juga merupakan komputer khas yang
berbasis akumulator.
Organisasi CPU secara total telh digantikan dengan
diperkenalkan CPU berbasis register yang baru.
Mikroprosesor / Ir.Sahrum,M.M.

Keuntungan CPU berbasis


akumulator adalah:
108

1. Isi akumulator diperuntukkan bagi satu operand.


Karena itu tidak memerlukan medan alamat operand
(untuk satu operand) dalam instruksi. Hal ini
menghasilakn instruksi yang pendek dan ruang memori
yang sedikit. Karena tidak adanya medan alamat, maka
jenis CPU ini mendukung instruksi-instruksi non-alamat
dan satualamat. Instruksi satu-alamat mempunyai satu
operand di dalam memori utama dan yang lainnya di
dalam akumulator.
2. Siklus instruksi menggunakan waktu yang singkat
sebab menghemat waktu dalam pengambilan instruksi
karena tidak ada siklus pengambilan operand.
Mikroprosesor / Ir.Sahrum,M.M.

Kekurangan CPU berbasis


akumulator adalah:
109

1. Ukuran programnya menjadi panjang


karena banyak menggunakan instruksi
dalam ekspresi-ekspresi kompleks. Karena
itu ukuran memori bertambah.
2. Waktu eksekusi program bertambah
karena bertambahnya jumlah instruksi
dalam program.

Mikroprosesor / Ir.Sahrum,M.M.

>> Contoh1:
110

Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU


berbasis akumulator untuk menyelesaikan statement X=(A+B)(C+D)
Solusi:
LOAD A : Salin A ke dalam akumulator
ADD B : Jumlahkan B dengan isi akumulator dan hasilnya disimpan
di akumulator ( akumulator berisi A+B)
STORE T : simpan hasil AB dalam T, suatu lokasi memori sementara
LOAD C : salin C ke dalam akumulator
ADD D : Jumlahkan D ke dalam akumulator dan simpan hasilnya
dalam akumulator (akumulator berisi C+D)
SUB T : Perkurangkan isi akumulator dari T dan simpan hasilnya
dalam akumulator
STORE X : Simpan isi akumulator di dalam lokasi memori X.
Mikroprosesor / Ir.Sahrum,M.M.

3. CPU Berbasis Register


111

Pada CPU jenis ini, banyak register yang


digunakan sebagai akumulator. Dengan kata
lain, ada lebih dari satu akumulator.
CPU seperti ini mempunyai organisasi
register umum GPR (general purpose
register).
Penggunaan
register-register
tersebut menghasilkan program yang pendek
dengan
instruksi
yang
sedikit.
IBM
System/360 dan PDP-11 merupakan contoh
khas.
Mikroprosesor / Ir.Sahrum,M.M.

>> Contoh2:
112

Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU


berbasis register untuk menyelesaikan statement X=(A+B)(C+D)
Solusi:
LOAD R1,A : salin A ke dalam register
ADD R1,B : Jumlahkan B dengan isi R1 dan hasilnya disimpan
di R1
LOAD R2,C : salin C ke dalam R2
ADD R2,D : Jumlahkan D ke dalam R2 dan simpan hasilnya di
R2
SUB R1,R2 : perkurangkan isi R2 dan R1 dan simpan hasilnya
dalam R1
STORE,X : simpan hasil di dalam lokasi memori X
Mikroprosesor / Ir.Sahrum,M.M.

113

Dibandingkan dengan contoh1 terlihat bahwa


CPU
berbasis
register
(arsitektur
GPR)
menghasilkan ukuran program yang lebih pendek
daripada CPU berbasis akumulator.
Dan juga program pada CPU yang berbasis
akumulator memerlukan lokasi memori untuk
menyimpan asil sementara(parsial).
Karena itu diperlukan akses memori tambahan
selama eksekusi program.
Jadi,
penambahan
jumlah
register
akan
menambah efisiensi CPU.
Mikroprosesor / Ir.Sahrum,M.M.

3.CPU Berbasis Stack


114

Stack merupakan daftar yang didorong ke bawah dengan mekanisme


akses LIFO (Last In Firs Out).
Stack yang menyimpan operand-operand.
Penggunaan stack dapat berada di dalam CPU atau merupakan bagian
dari memori.
Suatu register(atau lokasi memori) digunakan untuk menunjuk ke
alamat lokasi kosong pada puncak stack. Register ini dikenal dengan
Stack Pointer (SP).
Bila tidak ada yang tersimpan dalam stack, berarti stack kosong dan SP
menunjuk ke bagian stack terbawah.
Bila suatu item disimpan di dalam stack, maka dinamakan oerasi PUSH;
dan isi SP diturunkan (decrement)
Bila stack penuh, SP menunjuk ke bagian stack teratas.
Bila suatu item diambil dari satck(operasi POP),maka SP dinaikkan
(uncrement).
Mikroprosesor / Ir.Sahrum,M.M.

>> Konsep Stack


115

Mikroprosesor / Ir.Sahrum,M.M.

>> Operasi Stack


116

Mikroprosesor / Ir.Sahrum,M.M.

117

Keterangan konsep stack & operasi stack:


Item yang terakhr didorong ke dalam stack, akan
keluar pertama jika ada operasi POPberikutnya.
Pada CPU berbasis stack, semua operasi oleh CPU
dikerjakan pada isi stack.
Demikian halnya,hasil suatu operasi juga disimpan
pada stack.
Pada eksekusi suatu instruksi aritmetika seperti ADD,
operand-operand teratas yang di-pop
Komputer Burroughs B5000 dan HP 3000 merupakan
contoh dari komputer berbasis stack.
Mikroprosesor / Ir.Sahrum,M.M.

Contoh3:
118

Tuliskan sebuah program bahasa rakitan dalam arsitektur CPU


berbasis stack untuk menyelesaikan statement X=(A+B)-(C+D)

Mikroprosesor / Ir.Sahrum,M.M.

119

Dari isi stack, dapat dilihat bahwa stack


berubah bil beberapa operasi PUSH mendapat
tempat.
Bila suatu instruksi dieksekusi, operand
dipindahkan
dari
stack
dan
hasilnya
menempati posisi pada puncak stack.
Contoh3 menunjukkan bahwa ukuran program
untuk komputer berbasis stack lebih besar
dibandingkan dengan CPU berbasis register.
Mikroprosesor / Ir.Sahrum,M.M.

120

Keuntungan CPU berbasis Stack adalah:


1. Pemrograman mudah/efisiensi compiler tinggi
2. Sangat cocok untuk bahasa-bahasa blokterstruktur (block-structered language)
3. Instruksi tidak mempunyai fieldalamat; instruksi
pendek.
Kelemahan CPU berbasis Stack:
1. Diperlukan sirkuit hardware tambahan untuk
implementasi stack
2. Ukuran program meningkat.
Mikroprosesor / Ir.Sahrum,M.M.

4. Panjang Istruksi
121

Intruksi yang terlalu panjang mempunyai kekurangan:


1. Instruksi menempati ruang memori yang lebih besar, yang
meningkatkan kebutuhanmemori sistem
2. lebar luas data besar atau pengambilan instruksi lebih
memakan waktu. Kondisi pertama menambah biaya hardware
sedangkan yang kedua menambah waktu siklus instruksi.
Instruksi yang terlalu pendek mempunyai kekurangan:
1. Terlalu banyak instruksi di dalam program. Karena itu banyak
waktu yang terbuang untuk fase pengambilan
2. Ukuran program bertambah. Karena itu kebutuhan memori
bertambah.

Mikroprosesor / Ir.Sahrum,M.M.

5. Format Instruksi
122

Umumnya format instruksi terdiri dari kode


operasi dan operand.
Suatu instruksi memberikan palng banyak empat
informasi pada CPU :
1. Operasi yang akan dikerjakan oleh instruksi
2. Operand (data) yang harus dioperasikan
3. Lokasi (memori atau register) di mana hasil
operasi harus disimpan
4. Lokasi memori dimana instruksi berikutnya harus
diambilInstruksi Empat-alamat

Mikroprosesor / Ir.Sahrum,M.M.

contoh4
123

Medan panjang instruksi dan medan alamat operand


masing-masing adalah 36 bit dan 14 bit. Jika instruksi
dua-operand yang digunakan sebanyak 240, berapa
banyak instruksi satu-operand yang memungkinkan?
Solusi:
Panjang instruksi = 36 bit
sebuah instruksi dua-operand membutuhkan 28 bit
untuk alamat operand (2x14 bit).karena itu Ukuran
opcode=36-28 = 8bit
Total instruksi yang mungkin = 2 pangkat 8 = 256
Jumlah instruksi satu-operand= 256-240 = 16
Mikroprosesor / Ir.Sahrum,M.M.

6. Lokasi Operand
124

Ada beberapa pilihan dalam menempatkan operand (lokasi operand) yaitu


pada: memori utama, register CPU, I/O port dan pada instruksi itu sendiri.
Membiarkan operand dalam register CPU lebih efektif daripada
mengambilnya dari memori utama karena waktu akses register CPU lebih
singkat. Hasil ini mengurangi waktu siklus instruksi.
Penempatan operand dalam instruksi digunakan untuk instruksiinstruksi
khusus saja.
Isi suatu port dapat digunakan sebagai operand seperti halnya isi suatu
lokasi memori.
Ada beberapa instruksi yang tidak mempunyai operand.
Contoh yang khas adalan instruksi HALT dan NOOP.
Ada beberapa instruksi yang berfungsi untuk menguji status komponenkomponen hardware seperti register, flip-flop, lokasi memori dsb.
Pada kasus ini, tidak terdapat operand,demikian halnya ada beberapa
instruksi yang hanya mencari sejumlah sinyal eksternal.
Mikroprosesor / Ir.Sahrum,M.M.

7.Lokasi hasil pemrosesan


125

Ada beberapa pilihan dalam menyimpan


hasil pemrosesan instruksi yaitu: memori
utama, register CPU, poer keluaran dsb.
Beberapa instruksi seperti HALT dan NOOP
secara eksplisit tidak mempunyai hasil
untuk disimpan sedangkan beberapa
instruksi hanya men-set atau mereset flipflop atau register.
Mikroprosesor / Ir.Sahrum,M.M.

8. Urutan data Littleendian dan Big-endian


126

Ada dua metode konvensi yang diikuti untuk


penempatan
informasi
dalam
memori
dan
pengalamatan yaitu:
Penempatan dengan Big-endian
Penempatan dengan Little-endian
Pada metode big-endian, MSB (most significant byte)
disimpan pada alamat bawah dan LSB (least
significant byte) disimpan pada alamat atas.
Pada metode litlle-endian,LSB(least significant byte)
disimpan pada alamat bawah dan MSB ( Most
significant byte) disimpan pada alamat atas.
Mikroprosesor / Ir.Sahrum,M.M.

127

Anggap kita mempunyai sebuah informasi


32-bit
12345678(hexa) yang akan disimpan
didalam lokasi memori 1000 ke atas.
Karena terdapat 4-byte, maka informasi
menempati alamat 1000 sampai 1003.

Mikroprosesor / Ir.Sahrum,M.M.

128

Jika kita mempunyai data 64-bit (8-byte),


maka 4-byte sisanya dilanjutkan lagi dari
alamat
1004
ke
atas
dengan
menggunakan cara yang sama.
Metode big-endian lebih natural pada
sebagian besar orang karena lebih
mudah untuk membaca posisi hex.

Mikroprosesor / Ir.Sahrum,M.M.

9. Tipe Instruksi
129

Instruksi-instruksi diklasifikasikan dalam tipe yang berbeda


berdasarkan faktor-faktor berikut:
1. opcode: kode operasi yang harus dikerjakan oleh
instruksi.
2. Data: tipe data:biner,desimal dan sebagainya
3. Lokasi Operand: memori, register dan sebagianya
4. Pengalamatan Operand: metode penentuan lokasi
operand (alamat)
5. Panjang Instruksi: satu byte, dua byte dan
sebagainya
6. Jumlah Medan alamat: nol alamat, satu alamat,
dua alamat dan sebagainya.
Mikroprosesor / Ir.Sahrum,M.M.

130

Instruksi-instruksi dapat diklasifikasikan ke dalam delapan jenis:


1. Instruksi transfer data:instruksi ini menyalin data dari satu register/lokasi
memori ke yang lainnya.
2. Instruksi aritmetika: instruksi ini melakukan operasi-operasi aritmetika
3. Instruksi Logika: instruksi ini melakukan operasi-operasi logika boolean
4. Instruksi transfer kontrol: instruksi ini melakukan modifikasi/mengubah
urutan eksekusi program.
5. Instruksi I/O: instruksi ini melakukan transfer antara peripheral eksternal
dan inti sistem(CPU/memori)
6. Instruksi Manipulasi String: Instruksi ini melakukan manipulasi string byte,
word, double word dan sebagainya.
7. Instruksi translate: instruksi ini melakukan konversi data dari satu format
ke format lain.
8. Instruksi kontrol prosesor: instruksi ini melakukan kontrol operasi prosesor.

Mikroprosesor / Ir.Sahrum,M.M.

Tabel beberapa contoh instruksi


untuk setiap jenis instruksi
131

Mikroprosesor / Ir.Sahrum,M.M.

Tabel beberapa contoh instruksi untuk setiap


jenis instruksi lanjutan(1)
132

Mikroprosesor / Ir.Sahrum,M.M.

Tabel beberapa contoh instruksi untuk setiap


jenis instruksi
lanjutan (2)
133

Mikroprosesor / Ir.Sahrum,M.M.

Tabel beberapa contoh instruksi untuk setiap


jenis instruksi
lanjutan (3)
134

Mikroprosesor / Ir.Sahrum,M.M.

Tabel beberapa contoh instruksi untuk setiap


jenis instruksi
lanjutan (4)
135

Mikroprosesor / Ir.Sahrum,M.M.

Tabel beberapa contoh instruksi untuk setiap jenis


instruksi
lanjutan (5)
136

Mikroprosesor / Ir.Sahrum,M.M.

Tabel beberapa contoh instruksi untuk setiap jenis


instruksi
lanjutan (6)
137

Mikroprosesor / Ir.Sahrum,M.M.

Mikroprosesor

MODE PENGALAMATAN

Mikroprosesor / Ir.Sahrum,M.M.

138

Mode Pengalamatan
139

Ada dua cara yang biasa digunakan dalam


penempatan operand instruksi yaitu pada lokasi
memori utama dan register CPU.
Jika operand ditempatkan pada memori utama,
alamat lokasi harus diberikan oleh instruksi dalam
medan operand.
Banyak metode yang berguna yang dipakai untuk
menentukan alamat operand.
Mode yang berbeda dalam penentuan alamat
operand pada instruksi dikenal dengan addressing
mode (mode pengalamatan).
Mikroprosesor / Ir.Sahrum,M.M.

lanjutan1
140

Suatu komputer bisa saja tidak menggunakan semua


mode pengalamatan tersebut. Mode pengalamatanyang
populer adalah:
1. Pengalamatan immediate
2. Pengalamatan langsung (absolute)
3. Pengalamatan tak-langsung
4. Pengalamatan tak-langsung register
5. Pengalamatan register
6. Pengalamatan indeks
7. Pengalamatan relatig
8. Pengalamatan Base dengan indeks dan offset
Mikroprosesor / Ir.Sahrum,M.M.

lanjutan2

141

Berikut adalah tujuan yang mempengaruhi arsitek komputer


ketika memilih mode pengalamatan :
1. Mengurangi panjang instruksi dengan mempunyai medan
yang pendek untuk alamat.
2. Menyediakan bantuan yang tangguh kepada pemrogram
untuk penanganan data kompleks seperti pengindeks-an sebuah
array, kontrol loop, relokasi program dan sebagainya.
Mode pengalamatan yang tepat yang digunakan oleh suatu
instruksi adalah ditunjukkan pada unit kontrol, ada dua cara
yaitu:
1. Medan terpisah dalam instruksi menunjukkan mode
pengalamatan
seperti
yang diberikan
OPCOyang digunakan,
MODE
MEDAN
MEDAN pada
gambar dibawah
ini.
DE
PENGALAMA OPERAN OPERA

TAN

D-1

ND-2

2. Opcode sendiri yang secara eksplisit menunjukkan mode


pengalamatan yang digunakan
dalam instruksi.
Mikroprosesor / Ir.Sahrum,M.M.

1. Pengalamatan Immediate
142

OPCODE OPERAN
Format instruksi pengalamatan immediate
Mode pengalamata immediate merupakan mode pengalamatan
D
yangtidak melakukan aktifitas pengambilan operand.
Pada contoh yang diberikan berikut adalah dalam statement bahasa
rakitan. Tanda # digunakan untuk menunjukkan bahwa konstanta
yang mengikuti tanda tersebut adalah immediate operand.
MOVE #26,R1 atau MVI R1,26 isikan(load) ekivalen biner 26 ke
register R1
ADD #26,R1 tambahkan ekivalen biner 26 ke dalam R1 dan
simpan hasilnya pada R1
CMP #26,R1 atau CMI R1,26 bandungkan isi R1 dengan
ekivalenbiner 26
Mikroprosesor / Ir.Sahrum,M.M.

Keuntungan dan Kelemahan


143

Keuntungan:
Operand tersedia di dalam instruksi segera
setelah pengambilan instruksi berakhir. Karena
itu siklus instruksi lebih cepat.
Kelemahan:
Nilai operand dibatasi oleh panjang medan
operand dalam instruksi
Praktek pemrograman kurang fleksibel, karena
setiap perubahan nilai operand memerlukan
perubahan pada instruksi.
Mikroprosesor / Ir.Sahrum,M.M.

2. Pengalamatan Langsung
144

Format instruksi pengalamatan langsung

OPCO
DE

ALAMAT
MEMORI

MEMORI

OPERAND

Karena alamat operand secara eksplisit


diberikan di dalam instruksi, mode ini
disebut pengalamatan langsung.
Mikroprosesor / Ir.Sahrum,M.M.

>> lanjutan
145

Contoh statement bahasa rakitan berikut memberikan


ilustrasi mode ini:
LOAD R1,X salin isi lokasi memori X ke dalam
register R1
MOV Y,X salin isi lokasi memori X ke dalam
lokasi Y.
Kedua operand ini menunjukkan penggunaan mode
pengalamatan langsung.
JUMP X transfer kontrol program ke instruksi
pada lokasi memori X dengan mengisikan X ke PC (X
bukan operand tetapi alamat pencabangan).
Mikroprosesor / Ir.Sahrum,M.M.

>> lanjutan
146

>> Keuntungan & Kerugian Pengalamatan


Langsung
Keuntungan:
Karena alamat operand tersedia langsung
dalam instruksi, maka tidak dibutuhkan langkah
kalkulasi alamat operand.
Karena itu waktu siklus instruksi berkurang.
Kekurangan:
jumlah bit untuk alamat operand dibatasi oleh
medan operand dalam instruksi
Mikroprosesor / Ir.Sahrum,M.M.

3. Pengalamatan Tak
Langsung
147

Format instruksi pengalamatan


tak-langsung memori

Karena mode pengalamatan tak-langsung dapat melalui


sebuah lokasi memori atau register, maka dapat
dilakukan dengan dua cara, yaitu:
1. Pengalamatan tak-langsung memori: jika sebuah lokasi
memori digunakan untuk menyimpan alamat operand.
2.Pengalamatan tak-langsung register: jika sebuah
register digunakan untuk menyimpan alamat operand.

Mikroprosesor / Ir.Sahrum,M.M.

>> lanjutan
148

Instruksi memberikan alamat lokasi (X), dimana lokasi ini


berisialamat lokasi lain (Y) yang merupakan lokasi operand.
Hal inidapat direprensentasikan sebagai berikut: <X>=Y,
<Y>=operand
Y dikenal sebagai pointer. Nilai Y (alamat) dapat diganti secara
dinamis dalam suatu program tanpa mengganti instruksi
dengancara melakukan modifikasi sederhana pada isi lokasi X.
Pengalamatan tak-langsung multilevel dapat dimungkinkan.
Contoh berikut adalah ilustrasi mode pengalamatan
taklangsung:
MOVE (X),R1 isi dari lokasi yang mempunyai alamat
Xdisalin ke register R1
Mikroprosesor / Ir.Sahrum,M.M.

>> Keuntungan dan Kelemahan


pengalamatan tak-langsung
149

Keuntungan:
Mempunyai fleksibilitas dalam program;
perubahan alamat selama program berjalan
tanpa mengubah isi instruksi.
Kelemahan:
Waktu siklus instruksi bertambah
karenadua akses memori dibutuhkan untuk
sebuah pengalamatan tak langsung senglelevel
Mikroprosesor / Ir.Sahrum,M.M.

4. Pengalamatan Taklangsung Register


150

Format instruksi pengalamatan


tak langsung register

Pada mode ini, register digunakan untuk


menjaga alamat dari operand daripada
operand itu sendiri.
Jadi register bertindak sebagai alamat
memori

Mikroprosesor / Ir.Sahrum,M.M.

>> Lanjutan
151

Mode ini sangat berguna untuk pengaksesan


cepat lokasi memori utama seperti array.
Instruksi dengan mode tak-langsung register
adalah merupakan bagian dari loop.
Pertama, alamat awal dari array disimpan di
dalam register. Bila instruksi ditemukan
pertama, entry pertama dari array diakses.
Kemudian isi register ditambah satu oleh
instruksi lain di dalam loop, sebelum mendapati
instruksi mode tak-langsungregister.
Mikroprosesor / Ir.Sahrum,M.M.

>> Keuntungan Pengalamatan


Tak-langsung Register
152

Keuntungan:
Pemanfaatan efektif panjang instruksi,
karena nomor register ditentukan dengan
sejumlah bit.

Mikroprosesor / Ir.Sahrum,M.M.

5. Pengalamatan Register
153

Format instruksi perngalamatan register


Secara konseptual, pengalamatan register mirip
dengan
pengalamatan langsung kecuali lokasi memori
digantikan dengan register untuk menyimpan
operand.
Instruksi berisi nomor register yang mempunyai
operand.
Mode pengalamatan ini sangat berguna untuk suatu
program yang panjang dalam penyimpanan hasil-hasil
sementara di dalam register daripada di dalam
memori.
Mikroprosesor / Ir.Sahrum,M.M.

>> Lanjutan:
154

Contoh
berikut
adalah
ilustrasi
mode
pengalamatan register:
ADD R1,R2Jumlah isi register R1 dan R2
dan hasilnya disimpan di R1. Kedua operand
menggunakan pengalamatan register.
STORE R1,MEM1 isi dari register R1
disimpan/disalin ke alamat memori MEM1;
operand pertama menggunakan pengalamatan
register dan operand kedua menggunakan
pengalamatan langsung.
Mikroprosesor / Ir.Sahrum,M.M.

>> Keuntungan dan Kelemahan


Pengalamatan Register
155

Keuntungan:
pengambilan operand lebih cepat tanpa
akses memori
Kelemahan:
Jumlah register terbatas dan karena itu
utilisasi efektif oleh programmer
merupakan hal yangesensial.

Mikroprosesor / Ir.Sahrum,M.M.

6. Pengalamatan Indeks
156

Format instruksi
pengalamatan Indeks

Pada mode pangalamatan indeks, alamat operand diperoleh


dengan menambahkan sebuah konstanta ke suatu register,
yang disebut register indeks.
Instruksi ini mengisi register Ri dengan isi lokasi memori yang
alamatnya adalah hasil jumlah isi register Rind dan nilai X
Contoh: LOAD X(Rind),Ri instruksi ini menyalin operand
alamat hasil
penjumlahan nilai X dengan nilai register Rind ke dalam
register Ri

Mikroprosesor / Ir.Sahrum,M.M.

>> lanjutan 1:
157

Mode ini berbeda sedikti dengan mode pengalamatan base register.


Register indeks berisi sebuah offset atau perpindahan (displacement).
Instruksi berisi alamat yang akan ditambahkan pada offset dalam
register indeks, untuk mendapatkan alamat operand efektif.
Umumnya medan alamat dalam instruksi memberikan alamat awal
array dalam memori.
Register indeks berisi nilai indeks untuk operand yaitu selisih antara
alamat awal dan alamat operand.
Dengan mengubah register indeks, maka operand dalam array dapat
diakses.
Umumnya operand-operand(elemen-elemen array) berada dalam
lokasi yang berurutan. Mereka diakses dengan increment yang
sederhana pada register indeks.
Mikroprosesor / Ir.Sahrum,M.M.

>> lanjutan2:
158

Beberapa CPU mendukung fitur autoindexing,


yang
melibatkan
auto-increment
(dengan
hardware) pada register indeks kapanpun sutu
instruksi dengan pengalamatan indeks dieksekusi.
Hal ini mengurangi penggunaan instruksi terpisah
dalam menambah(increment) isi register indeks.
Hal ini juga lebih mempercepat aksi serta lebih
mengurangi ukuran program. Namun memberikan
tanggungjawab tambahan autoindexing pada
unit kontrol.
Mikroprosesor / Ir.Sahrum,M.M.

7. Pengalamatan Relatif
159

Format instruksi
pengalamatan relatif

Pengalamatan relatif sama seperti pengalamatan indeks


kecuali register indeks diganti dengan program counter
(PC).
Instruksi ini megisi Ri dengan kandungan lokasi memori
yang alamatnya adalah hasil jumlah program counter (PC)
dengan nilai X

Mikroprosesor / Ir.Sahrum,M.M.

>> Lanjutan3:
160

Pada mode ini,instruksi menetapkan alamat operand


(lokasi memori) sebagai posisi relatif dari alamat
instruksi sekarang yaitu isi PC. Karena itu operand
terletakpada jarak pendek dari isi PC.
Jumlah mode ini digunakan untuk menetapkan
alamat pencabangan dalam instruksi branch, alamat
pencabangan berada dekat dengan alamat instruksi.
Contoh:
JUMP+8(PC)
JUMP-8(PC)

Mikroprosesor / Ir.Sahrum,M.M.

>> Keuntungan
Pengalamatan Relatif
161

Keuntungan:
Jumlah bit dalam medan alamat lebih
sedikit

Mikroprosesor / Ir.Sahrum,M.M.

8. Pengalamatan Base
Register
162

Mode ini digunakan untuk relokasi program di dalam memori (dari satu
area ke area lain).
Pada mode pengalamatan base register, instruksi tidak berisi alamat.
Dia memberikan perpindahan relatif terhadap area memori sekarang
ke area memori yang lain, base register diisi dengan alamat base baru.
Instruksi tidak perlu dimodifikasi/diubah. Dengan cara ini, keseluruhan
program atau suatu segment dri program dapat
dipindahkan dari satu area di memori ke yang lain tanpa
mempengaruhi instruksi, dengan perubahan sederhana ini base
register.
Hal ini penting untuk sistem multiprogramming karena waktu yang
berbeda (run), area berbeda dari memori tersedia untuk sebuah
program.
Sebuah CPU dapat mempunyai lebih dari satu base register.
Mikroprosesor / Ir.Sahrum,M.M.

>>Format Instruksi & keuntungan


Pengalamatan Base Register
163

Format instruksi
pengalamatan base register
Keuntungan:
medan alamat operand dalam instruksi
sangat pendek karena dia hanya
memberikan offset (perpindahan); alamat
operand dikalkulasikan tanpa akses
memori.
Mikroprosesor / Ir.Sahrum,M.M.

9. Pengalamatan Stack
164

Pada pengalamatan stack(tumpukan), semua operand


untuk suatu instruksi diambl dari bagian teratas stack.
Instruksi tidak mempunyai medan operand.
Misalnya, sebuah instruksi ADD hanya memberikan
opcode (ADD). Kedua operand dalam stack, di dalam
lokasi yang berurutan. Bila instruksi ADD dieksekusi,
dua operand di-pop-off dari stack satu persatu.
Setelah penjumlahan, hasilnya di-push ke dalamstack.
Keuntungan:
Tidak ada menda operand dalam instruksi, karena itu
instruksinya pendek.
Mikroprosesor / Ir.Sahrum,M.M.

Mikroprosesor

INTERUPSI

Mikroprosesor / Ir.Sahrum,M.M.

165

Polling & Interupsi

Tinjau ilustrasi berikut, yaitu

Sebuah sistem mikroprosesor yang dipasang pada sebuah sistem


kendali suatu proses. Proses tersebut mempunyai beberapa parameter
atau variabel yang diukur menggunakan sensor dan tranduser. Sinyal
analog dari tranduser kemudian dikonversi ke bentuk digital
menggunakan ADC (analog to digital converter) sehingga dapat dibaca
oleh komputer.
Proses konversi menggunakan ADC biasanya membutuhkan waktu
(waktu konversi) yang cukup signifikan dibandingkan dengan kecepatan
mikroprosesor dalam menjalankan suatu instruksi.
Jika proses konversi belum selesai, maka mikroprosesor harus
menunggu sampai konversi selesai. Masalahnya adalah apabila
komputer dibiarkan menganggur (idle) saat menunggu konversi selesai
maka akan banyak waktu yang terbuang sementara sebetulnya
kecepatan mikroprosesor yang cukup tinggi masih bisa dimanfaatkan
untuk mengerjakan hal yang lain sembari menunggu.

Ketika data hasil konversi tersedia, maka ada 2


kemungkinan yang berhubungan dengan transfer data,
yakni

ADC secara pasif menunggu sampai mikroprosesor meminta data


darinya (cara POLLING) atau
ADC itu sendiri yang secara aktif memberitahu mikroprosesor bahwa
data konversi telah tersedia (cara INTERUPSI).

polling

Polling

Dengan cara ini, komputer diprogram untuk secara berkala


dan bergiliran memeriksa apakah konversi telah selesai
dan data di ADC telah tersedia.

Biasanya dilakukan dengan cara memeriksa salah satu sinyal atau


pin yang ada di ADC yang menandakan bahwa data hasil konversi
telah siap. Apabila sinyal tersebut sudah aktif maka data diambil oleh
mikroprosesor, sedangkan bila belum aktif maka akan dibiarkan saja
oleh mikroprosesor. Kemudian komputer memeriksa ADC berikutnya
dan melakukan hal yang sama.

Demikian seterusnya.

Keuntungan

program yang diperlukan dan prinsip kerjanya relatif lebih sederhana,


tidak memerlukan koneksi khusus dengan ADC yang dipakai.

Kekurangan

kalau konversinya lambat maka seringkali komputer mendapati data


belum tersedia ketika memeriksa sebuah ADC, sehingga dapat
dikatakan banyak pekerjaan yang sia-sia.

INTERUPSI

Interupsi Pada cara ini, memanfaatkan pin INTR atau NMI yang
digunakan untuk menginterupsi kerja mikroprosesor.
Komputer dibiarkan melakukan pekerjaan yang telah diprogramkan
tanpa harus memeriksa setiap ADC apakah data telah siap atau
belum.
Ketika data telah tersedia, sinyal yang menandakannya pada ADC
dimanfaatkan untuk mengaktifkan sinyal INTR atau NMI sehingga
komputer menghentikan apa yang sedang dikerjakannya untuk
mengambil data hasil konversi dan kemudian meneruskan kembali
pekerjaannya yang tadi diinterupsi.
Keuntungan cara ini :

adalah komputer dapat lebih efisien dalam memanfaatkan waktu serta pada
program utamanya tidak perlu merisaukan untuk memeriksa piranti luar setiap saat.

Kekurangannya

adalah diperlukan koneksi secara khusus dengan piranti yang dipakai serta
pemrograman yang lebih kompleks untuk menangani interupsi

Tipe Interupsi

Pada mikroprosesor 8086, interupsi dapat


berasal dari 3 kemungkinan:
1. dari sinyal yang diberikan oleh perangkat luar melalui
pin NMI atau INTR, yang disebut interupsi secara
perangkat keras (hardware interrupt)
2. berasal dari eksekusi instruksi interupsi (INT), disebut
interupsi secara perangkat lunak (software interrupt)
3. dari suatu kondisi yang ditimbulkan karena suatu
eksekusi, misalnya ketika prosesor diminta membagi
suatu bilangan dengan nol, maka akan muncul interupsi,

Proses interupsi

Pada setiap selesai melaksanakan suatu instruksi, 8086 akan


memeriksa apakah ada permintaan interupsi. Jika ada dan flag
interupsi pada mikroprosesor (IF) mempunyai nilai 1 atau set, artinya
mikroprosesor mengijinkan adanya interupsi, maka dia akan
mengerjakan hal-hal berikut (Gambar III-3):
1. menyimpan register flag ke dalam stack
2. mereset flag interupsi (IF) untuk mencegah interupsi berikutnya
3. mereset flag TF
4. menyimpan register CS dan IP ke dalam stack untuk mencatat
posisi program yang sedang dijalankan sekarang
5. mengambil alamat rutin pelayanan interupsi dan kerjakan rutin
tersebut sampai ditemui instruksi IRET (interupt return), yang
menandai akhir dari rutin tersebut untuk kembali ke program
semula
6. mengambil kembali posisi program semula (IP dan CS) dari stack
7. mengambil kembali nilai flag semula
8. jalankan instruksi berikutnya dari posisi sebagaimana sebelum

Priority Interrupt Controller


(PIC 8259A)

8086 hanya mempunyai sebuah pin INTR


(di samping NMI). Namun seringkali
terdapat lebih dari satu piranti yang perlu
untuk menggunakan interupsi.
Oleh karena itu diperlukan komponen
bantu untuk meningkatkan jumlah sinyal
interupsi yang dapat dipakai oleh
bermacam piranti.
Dalam hal ini, fungsi tersebut dilakukan
oleh IC 8259A Priority Interrupt Controller
(PIC) yang mempunyai arsitektur dalam
seperti terlihat pada Gambar III-4.

Koneksi PIC dengan Mikroprosesor

Pin D7-D0 terhubung ke bus data,


A0 dan CS dihubungkan ke bus alamat dan
dekoder alamat,
sementara RD, WR, INT, dan INTA
dihubungkan ke mikroprosesor pada sinyal
yang bersesuaian.
Pin CAS2-CAS0 dan EN/SP digunakan untuk
keperluan konstruksi 8259A bertingkat
(master-slave) sehingga dapat menambah
lagi jumlah interupsi yang tersedia.
Dengan sebuah PIC, kita akan mempunyai 8
interupsi yang dilewatkan pin IR0-IR7.

Sebelum PIC dipakai, terlebih dahulu harus


memprogram sebuah kata kendali (control
word) untuk inisialisasi dan mengatur
kerja IC tersebut, misalnya

nomor-nomor interupsi berapa saja yang


dipakai,
bagaimana urutan prioritasnya,
apakah sinyal interupsi berupa level-trigger
atau edge-trigger,
serta apakah diperbolehkan terjadinya
interupsi secara bertingkat.

Standar Sinyal Interupsi

DIRECT MEMORY ACCESS

(DMA)

HISTORY

Teknik Input Output


1.

Programmed I/O

2.

Interrupt driven I/O

3.

Direct Memory Access (DMA)

Mengapa DMA diperlukan ?


Karena programmed I/O dan interrupt driven I/O:

Masih memerlukan keterlibatan CPU , sehingga CPU menjadi sibuk.

Transfer rate data terbatas

Interrupt-Driven I/O dirasa lebih efisien daripada programmed I/O,


namun Interrupt-Driven masih memerlukan intervensi aktif dari
processor.

Instruksi transfer data


Instruksi pemindahan/transfer data yang tersedia
dalam mikroprosesor 8086, yaitu :

mikroprosesor ke memori atau sebaliknya (MOV),


register ke port (OUT) dan sebaliknya dari port ke
register (IN).
Dengan demikian, untuk memindahkan data dari
memori ke port dilakukan dengan kombinasi
instruksi MOV dan OUT.
sedangkan transfer memindahkan data dari port
ke memori dilakukan dengan kombinasi instruksi
IN dan MOV.

Pada aplikasi tertentu, terutama untuk transfer data yang


berukuran sangat besar misalnya pemindahan data file dari
harddisk ke memori ini tidak efisien.
Transfer data akan menjadi lebih cepat apabila dapat
dilakukan secara langsung dari memori ke port atau
sebaliknya, tanpa melalui mikroprosesor. Mekanisme ini
disebut direct memory access (DMA).

Definition

Direct Memory Access


Sebuah prosesor khusus (special purpose
processor) yang berguna untuk menghindari
pembebanan CPU utama oleh program I/O (PIO).

Function of DMA

Fungsi modul DMA :


Dapat menirukan sebagian fungsi prosesor
Dapat mengambil alih fungsi prosesor yang
berhubungan dengan transfer data
Kapan DMA bekerja ?
Saat prosesor sedang tidak menggunakan bus
Saat prosesor dipaksa berhenti sesaat
(suspend)
siklusnya dicuri oleh DMA
disebut cycle stealing

Implementing DMA

Direct Memory Access Controlled (DMAC)


digunakan untuk mengontrol DMA di
sistem komputer
DMAC menghubungkan langsung ke device
I/O dan bus sistem. DMAC juga
berhubungan dengan CPU.
DMAC menggunakan IC 8237

Blok diagram DMAC 8237

Urutan sinyal proses DMA

Pada saat data akan diambil dari harddisk,


disk controller mengirimkan sinyal DREQ ke 8237
DMA controller kemudian mengirimkan sinyal HRQ (hold
request), yaitu permintaan untuk meminjam bus, kepada
mikroprosesor melalui kaki HOLD.
Mikroprosesor merespon permintaan tersebut dengan
memutuskan hubungan dirinya ke bus dan mengirimkan
sinyal HLDA (hold acknowledge) ke 8237 .
Setelah menerima sinyal tersebut, 8237 kemudian
memindahkan switch ke bawah sehingga bus sekarang
terhubung ke 8237. Dengan demikian kendali terhadap
bus berada di tangan 8237.

Lanjutan -- urutan sinyal proses DMA

DMA controller kemudian mengirimkan alamat


memori di mana data dari harddisk akan
disimpan.
Selanjutnya, 8237 mengirimkan sinyal DACK ke
disk controller untuk memberitahu agar siap
mengirimkan data.
Kemudian, 8237 mengaktifkan sinyal pada bus
kendali, yaitu MEMW (memory write), yang akan
mengaktifkan memori dengan alamat yang dituju
untuk menerima data, dan (I/O read), yang akan
mengaktifkan disk controller untuk mengirimkan
data.
Data kemudian ditransfer secara langsung dari
port I/O ke memori tanpa melalui mikroprosesor

Setelah jumlah data yang ditransfer , 8237


menonaktifkan sinyal HRQ ke mikroprosesor dan
membebaskan bus dengan cara menaikkan
kembali ketiga switch tadi.

Transfer secara DMA dari memori ke port I/O


dapat dilakukan dengan cara yang mirip dengan
di atas, namun kali ini DMA controller
mengaktifkan sinyal MEMR (memory read), yang
akan mengaktifkan memori dengan alamat yang
dituju untuk mengirimkan data, dan IOW (I/O
write), yang akan mengaktifkan port I/O untuk
menerima data.

Keunggulan dari DMA :


Performance komputer sistem ditingkatkan
dengan transfer data langsung antara memori
dan I/O devices, tidak melibatkan CPU
CPU dibebas tugaskan dari transfer data
Transfer data jadi lebih cepat
Kelemahan dari DMA :
Pada burst mode transfer data, CPU tidak aktif
untuk waktu yang lama

Mikroprosesor

Studi kasus
Arsitektur Dasar
P 8086, 8088,
80286, 80386, dan Pentium
Mikroprosesor / Ir.Sahrum,M.M.

192

Outline

Mikroprosesor
Mikroprosesor
Mikroprosesor
Mikroprosesor

80186/80188
80286
80386
PENTIUM

Mikroprosesor / Ir.Sahrum,M.M.

193

Mikroprosesor 80186/80188
Arsitektur
1. Lebar data bus diantaranya sebagai berikut :
1. Mikroprosesor 80186 mempunyai bus data 16
bit
2. Mikroprosesor 80188 mempunyai bus data 18
bit
2. Struktur Register Internal dari 80186/80188
dan 8086/8088 secara virtual adalah sama.
3. Vektor Interupsi tambahan yang tidak
digunakan dalam mikroprosesor 8086/8088 dan
4. Beberapa Built-In I/O yang sangat handal.

Mikroprosesor / Ir.Sahrum,M.M.

194

Mikroprosesor 80186/80188 (lanj)

Mikroprosesor / Ir.Sahrum,M.M.

195

Mikroprosesor 80186/80188
(lanj)
Intruksi Set
1. Push Immediate (PUSHA dan POPA) :
Pemuatan awal stack dengan informasi.
2. Integer Immendiate Multiplication
(IMUL) : Memungkinkan isi dari suatu
integer atau lokasi memori untuk
dimultiplied oleh byte.
3. Operant antara lain : tujuan, byte yang
dekat, sumber.
Mikroprosesor / Ir.Sahrum,M.M.

196

Mikroprosesor 80186/80188
(lanj)
4. Shift and Rotate (SHL, SHR, ROL, ROR dan
lainnya) : Dapat menggunakan hitungan
yang dekat.
5. String I/O : INS dan OUTS, serta INSB dan
OUTSB untuk mengirimkan byte data. INSW
dan OUTSW untuk mengirimkan kata data.
6. BOUND : Mengecek batas bagian dari
memori.
7. Enter dan Leave : Membuat dan
meninggalkan frame stack untuk bahasa
dengan level yang lebih tinggi.
Mikroprosesor / Ir.Sahrum,M.M.

197

Mikroprosesor 80286
Arsitektur
Mikroprosesor 80286 adalah versi
mikroprosesor 8086 tingkat tinggi yang
dirancang untuk multiuser dan lingkungan
multitasking.
Mikroprosesor ini dapat mengalamatkan 16
Mbyte memori fisik dan 1 Gbyte virtual
memori dengan menggunakan unit
manajemen memori yang ditempatkan dalam
mikroprosesor.
Mikroprosesor 80286 dioptimalkan untuk
melaksanakan instruksi dengan putaran jam
Mikroprosesor / Ir.Sahrum,M.M.
198
yang lebih sedikit
dibandingkan dengan
8086.

Mikroprosesor 80286 (lanj)

Mikroprosesor / Ir.Sahrum,M.M.

199

Mikroprosesor 80286 (lanj)


Intruksi Set
1. Clear Task-switch Flag Instruction (CLTS) :
Jika 0 terjadi bit flag, sedangkan 1 dan
koprosesor 80287 digunakan oleh task maka
akan terjadi interupsi (tipe 9). Intruksi ini
digunakan dalam program sistem dan hanya
dilakukan dalam mode yang terlindung pada
level istimewa nol.
2. Load Access Right (LAR) : Membaca
segment dan menempatkan copy dari kanan
akses ke dalam register 16 bit.
Mikroprosesor / Ir.Sahrum,M.M.

200

Mikroprosesor 80286 (lanj)


3. Load Segment Limit (LSL) : Memuat register
yang ditentukan pemakai dengan batas
segmen. Register ke-2 menunjukkan pemilih
segmen yang mengalamatkan dimasukkan
kedalam register pertama.
4. Adjust Requested Priviledge Level (ARPL) :
Mengetes pemilih hingga level sektor yang
diperlukan, yang istimewa, tidak terlanggar.
5. Verify for Read Access (VERR) : Menguji
apakah segmen yang ditunjukkan oleh
operandnya dapat dibaca atau tidak.
6. Verify for Write Access (VERW) : Menguji
apakah segmen yang ditunjukkan oleh
operandnya dapat dituliskan.
Mikroprosesor / Ir.Sahrum,M.M.

201

Mikroprosesor 80286 (lanj)


Mode Operasi
1. Mode Real
2. Mode Virtual

Mode Real
Bit A19 A0 yang aktif dan digunakan
untuk mengalamatkan 1 Mbyte memory.
Hubungan Alamat A23-A20 berisi logika 0,
sehingga hanya 1 Mbyte memori yang
pertama dapat dialamatkan.
Berfungsi secara sempurna tanpa adanya
perubahan.
Mikroprosesor / Ir.Sahrum,M.M.

202

Mikroprosesor 80286 (Lanj)


Mode Virtual
Mengalamatkan suatu lokasi dalam
rentangan alamat 16 Mbyte.
Dikontrol oleh Memori Manajemen Unit
Mengalamatkan ruang alamat virtual dari
1 Gbyte (jika diperlukan).
Pengalamatan virtual diselesaikan oleh
MMU (Memori Manajemen Unit)

Mikroprosesor / Ir.Sahrum,M.M.

203

Mikroprosesor 80286 (Lanj)

Mikroprosesor / Ir.Sahrum,M.M.

204

Mikroprosesor 80286 (Lanj)

Mikroprosesor / Ir.Sahrum,M.M.

205

Mikroprosesor 80386
Arsitektur
Mikroprosesor 80386 merupakan versi 32 bit
penuh dari mikroprosesor 16 bit
8086/80286 atau yang terdahulu dan
merepresentasikan perkembangan besar
pada aritektur peralihan dari arsitektur 16
bit ke arsitektur 32 bit.
Bersamaan dengan ukuran word yang lebih
besar ini adalah banyaknya perbaikan dan
fitur fitur tambahan. 80386 juga
mencakup registrasi ekstended 32 bit bus
alamat danMikroprosesor
data 32
bit.
/ Ir.Sahrum,M.M.
206

Mikroprosesor 80386 (lanj)


Feature 80386 adalah : multitasking,
manajemen memori, memori virtual dengan
atau tanpa paging (pemberian nomor),
perlindungan software, dan sistem memori
yang besar.
Versi 80386 umum tersedia 80386DX dan
80386SX, yang merupakan versi dengan
bus diperkecil dari 80386. Sedangkan versi
80386EX memakai sistem bus AT, kontroler
RAM dinamik, logika seleksi chip yang dapat
diprogram, 26 pin alamat, 6 pin data dan 24
pin I/O.
Mikroprosesor / Ir.Sahrum,M.M.

207

Mikroprosesor 80386 (lanj)


Level Tegangan 80386 yang bervariasi,
sehingga membuat Mikroprosesor ini
tersedia dalam beberapa kecepatan clock

Mikroprosesor / Ir.Sahrum,M.M.

208

Mikroprosesor 80386 (lanj)


Sistem Memori
Sistem memori fisik dalam 80386 mempunyai
ukuran
4
Gbyte
dan
dapat
dialamatkan
sedemikian, sehingga memori dibagi kedalam
empat bank memori, dengan masing-masing bank
berisi 1 Gigabyte. Karena dengan lebar 32 bit
merupakan path bus data antara mikroprosesor
dan memorinya adalah 32 bit.
Sistem I/O
Keuntungan utama dari I/O yang dipetakan
memori adalah bahwa beberapa ruang memori
terkurangi ke peralatan I/O, sedangkan sistem I/O
yang diisolasi, tidak ada satupun ruang memori
yang diarahkan ke I/O. dimana I/O yang diisolasi
adalah bahwa hanya instruksi IN atau OUT untuk
Mikroprosesor / Ir.Sahrum,M.M.
209
mengirim/mengambil
dari I/O.

Mikroprosesor 80386 (lanj)


Memori dan Sinyal Kontrol I/O
Sinyal M/IO digunakan untuk
menunjukkan apakah putaran bus akan
mengirim-kan data memori atau data I/O.
Sinyal W/R jika berlogika 0 untuk
melakukan operasi pembacaan, dan logika
1 akan melakukan operasi penulisan.
Sinyal ADS digunakan untuk kuantitas dua
kontrol Sinyal sebelumnya diatas.

Mikroprosesor / Ir.Sahrum,M.M.

210

Mikroprosesor 80386 (lanj)

Mikroprosesor / Ir.Sahrum,M.M.

211

Mikroprosesor 80386 (lanj)

Mikroprosesor / Ir.Sahrum,M.M.

212

Mikroprosesor 80386 (lanj)


Arsitektur
Memiliki peralatan yang terintegrasi
tinggi yang berisi 1.2 Juta transistor.
Dialokasikan dalam sirkuit Memori
Manajemen Unit.
Koprosesor numerik yang lengkap dan
kompatibel dengan 80x87.
Memori chace dengan kecepatan tinggi
yang berisi 8 Kbyte memori.
Mikroprosesor / Ir.Sahrum,M.M.

213

Mikroprosesor 80386 (lanj)


Arsitektur 80486 identik dengan 80386, oleh
karena itu ilustrasi register register pada 80486
tidak ada perbedaan dengan mikroprosesor
80386.
Design RISC (ReducedIntruction Set Computer)
dari 80486 akan mengurangi jumlah waktu yang
diperlukan untuk melakukan beberapa instruksi ke
satu cycle clock saja. MMU (Memori Manajemen
Unit) memungkinkan 80486 untuk mengakses
segmen dalam beberapa ukuran hingga 4Gbyte.
MMU juga menyediakan 4 level proteksi pada
bilangan PL0 hingga PL3.
Mikroprosesor / Ir.Sahrum,M.M.

214

Mikroprosesor 80386 (lanj)

Mikroprosesor / Ir.Sahrum,M.M.

215

Mikroprosesor 80386 (lanj)

Mikroprosesor / Ir.Sahrum,M.M.

216

Mikroprosesor PENTIUM
Arsitektur Global
Struktur cache yang lebih kompleks untuk cache data
dan intruksi lain
Prosesor integer dual lebih akurat yang dapat melakukan
dua instruksi per clock (secara bersamaan)
Bus data yang lebih lebar, dimana ditambah dari 32 bit
menjadi 64 bit. Sehingga instruksi akan lebih besar
kemungkinan untuk melakukan dalam waktu yang
bersamaan.
Koprosesor numerik yang lebih cepat yang beroperasi
sekitar lima kali lipat lebih cepat dari koprosesor numerik
80486 atau mikroprosesor versi sebelumnya.
Logika prediksi percabangan yang dapat memungkinkan
program bercabang dieksekusi dengan lebih efisien.
Tehnologi MMX (Multimedia Extention) yang dirancang
untuk mengeksekusi instruksi dengan kecepatan tinggi dan
hanya di khususkan untuk device (peralatan) multimedia.
Mikroprosesor / Ir.Sahrum,M.M.

217

Mikroprosesor PENTIUM (lanj)


Pentium Pro
Arsitektur internal dapat menjadwalkan sampai
lima instruksi untuk eksekusi dan unit floting
point yang masih lebih cepat lagi.
Cache untuk tingkat 2 adalah 256 Kbyte / 512
Kbyte. Dan cache tingkat satu adalah 16 Kbyte.
Terdapat bus alamat 36 bit, yang
memungkinkan akses ke memori sampai dengan
64 Gbyte.
Catu daya +3,3 Volt dengan arus maksimum 9,9
mA untuk 150 MHz Pentium Pro untuk masukan,
dan Arus 48 mA pada tingkat logika 0 untuk
keluaran (output).
Mikroprosesor / Ir.Sahrum,M.M.

218

Mikroprosesor PENTIUM (lanj)


Pentium II
Cache pada Pentium pro tidak ditemukan
lagi, karena mikroprosesor pentium II di
kemas dalam bentuk papan rangkaian yang
tercetak yang berbeda dari bentuk
sebelumnya.
Pentium III
Sistem bus antara 133 MHz atau 100 MHz
Terdapatnya Advanced Tranfer Cache sebesar
256 Kbyte dalam kemasan Level 2 (L2) dengan
Error Correcting Code (ECC).
Terdapat Data Prefetch Logic (DPL) sebagai
antisipasi jika membutuhkan data
Mikroprosesor / Ir.Sahrum,M.M.

219

Mikroprosesor PENTIUM (lanj)


Pentium IV
Terdapat mPGA-487
Support pada intel 850 dan 845 family.
Terdapat cache 12 K micro-op trace
cache dan 8 Kbyte L1 data cache pada
addition ke L2 cache memori.

Mikroprosesor / Ir.Sahrum,M.M.

220

Mikroprosesor PENTIUM (lanj)

Mikroprosesor / Ir.Sahrum,M.M.

221

Mikroprosesor PENTIUM (lanj)

Mikroprosesor / Ir.Sahrum,M.M.

222

Mikroprosesor PENTIUM (lanj)


Intruksi Set
Pentium

Pentium Pro
Tambahan Intruksi adalah : FCMOV, CMOV
Pentium II
Tambahan intruksi adalah : SYSENTER,
SYSEXIT, FXSAVE, FXRSTOR
Mikroprosesor / Ir.Sahrum,M.M.

223

Referensi

16-bit Micro-processors Architecture,Software and Interface


Techniques, Walter A.Triebel, Avtar Singh
The Intel Microprocessors 8086/8088, 80186/80188,
80286, 80386, 80486, Pentium, and Pentium Pro Processor
Architecture, Programming, and Interfacing. Barry B. Brey
http://www.intel.com/
http://www.hardwarebible.com/Microprocessors/8086.htm
http://www.cms.dmu.ac.uk/
http://www.cs.uakron.edu
http://www.engr.sjsu.edu/

Mikroprosesor / Ir.Sahrum,M.M.

224

Anda mungkin juga menyukai