Anda di halaman 1dari 53

Mikroprosesor

Arsitektur Mikroprosesor

INTEL 8085
INTEL 8086
SIMULATOR SMS32V23

Arsitektur Mikroprosesor 1
Arsitektur Mikroprosesor
INTEL 8085

Arsitektur Mikroprosesor 2
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• ALU dalam 8085 menerima masukan dari dua
register yakni AKUMULATOR (REGISTER A)
dan register sementara TMP.
8-BIT INTERNAL DATA BUS

ACCUMULATOR TEMP. REG.

ALU

Arsitektur Mikroprosesor 3
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• ALU melaksanakan penjumlahan, pengurangan
dan operasi logika khusus pada pasangan byte
masukan dalam register A dan TMP.
• Akumulator: sebagai sumber masukan dan tujuan
hasil operasi ALU, dapat diakses oleh
pemrogram.
• Register TMP diisi data dari lokasi lainnya, tak
dapat diakses pemrogram sehingga dinamakan
register tak tampak.

Arsitektur Mikroprosesor 4
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• Contoh: Suatu perintah untuk menambahkan isi lokasi
memori ke akumulator akan menyebabkan isi lokasi tertentu
dipindahkan ke register TMP sebelum proses penjumlahan
yang sebenarnya dilakukan.
Keadaan awal:
Isi akumulator : 5, isi TMP=0
Keadaan berikutnya:
Isi akumulator : 5, isi TMP=3
Keadaan setelah ALU melakukan penjumlahan:
Isi akumulator : 8, isi TMP=3

Arsitektur Mikroprosesor 5
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• ALU membangkitkan bit bendera (flag bit)
yang disimpan dalam REGISTER BENDERA.
8-BIT INTERNAL DATA BUS

ACC TMP FLAG


FLIP FLOPS

ALU

Arsitektur Mikroprosesor 6
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• Lokasi bit setiap bendera dalam register
bendera:
S Z - AC - P - CY

S: Sign Flag (bendera tanda)


Z: Zero Flag (bendera nol)
AC: Auxiliary Carry Flag (bendera sisa tambahan)
P: Parity Flag (bendera paritas)
CY: Carry Flag (bendera sisa)
Arsitektur Mikroprosesor 7
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• Register bendera (flag register) digunakan untuk
mengetahui keadaan hasil pelaksanaan instruksi
oleh ALU.
• Bendera sign akan diset (S=1), jika pelaksanaan
perintah oleh ALU menghasilkan bilangan negatif.
• Bendera zero akan diset (Z=1), jika operasi ALU
memberikan hasil 0.

Arsitektur Mikroprosesor 8
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• Bendera AC akan diset (AC=1), jika dalam
penjumlahan, bit ke 3 menghasilkan carry. Contoh:

0011 0010 Bit ke-3isi Bit


Akumulator
ke-0
Bit ke-7
0000 0101 + isi TMP
0011 0111 isi Akumulator setelah
perintah penjumlahan
dilaksanakan
Penjumlahan bit ke-3
tidak menghasilkan
carry sehingga AC=0
Arsitektur Mikroprosesor 9
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• Contoh yang lain

0010 1000 isi Akumulator


0000 1001 + isi TMP
0011 0001 isi Akumulator setelah
perintah penjumlahan
Penjumlahan bit ke-3
menghasilkan carry
dilaksanakan
sehingga AC=1

Arsitektur Mikroprosesor 10
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• Bendera paritas (parity flag) akan diset
(P=1), jika pelaksanaan perintah oleh ALU
menghasilkan jumlah bit 1 genap dan reset
(P=0) jika jumlah bit 1 ganjil.
Contoh: Output ALU=01100011, maka P= 1
Output ALU=00101010, maka P= 0

Arsitektur Mikroprosesor 11
Arsitektur Mikroprosesor
INTEL 8085
ALU dan Register yang digunakan
• Bendera carry akan diset (CY=1), jika operasi ALU
menghasilkan carry. Contoh:
1 ---> carry
1010 1000 isi Akumulator
1000 1001 + isi TMP
0011 0001 isi Akumulator setelah
perintah penjumlahan
dilaksanakan
Penjumlahan bit ke-7
menghasilkan carry
sehingga CY=1
Arsitektur Mikroprosesor 12
Arsitektur Mikroprosesor
INTEL 8085
Bagian Register
• Memiliki 6 buah register serbaguna yang dapat
digunakan secara terpisah sebagai register 8-bit,
atau berpasangan untuk menyimpan data 16 bit.
• Register 8-bit: B, C, D, E, H, L
• Pasangan Register HL, pasangan register DE sering
digunakan sebagai register pasangan untuk
menyimpan alamat memori, isi HL dan DE dapat
ditukar dengan perintah tunggal.
• Register B dan C sering dipakai sebagai penyimpan
sementara untuk data tunggal.

Arsitektur Mikroprosesor 13
Arsitektur Mikroprosesor
INTEL 8085
Bagian Register
• Register Serbaguna Pada 8085:

8-bit 8-bit
REGISTER B REGISTER C
REGISTER D REGISTER E
REGISTER H REGISTER L
16-bit

Arsitektur Mikroprosesor 14
Arsitektur Mikroprosesor
INTEL 8085
Bagian Register

• Register SP (stack pointer) atau penunjuk


tumpukan merupakan register 16 bit yang
menunjuk lokasi tumpukan di RAM. 8085 tidak
memiliki register tumpukan internal, tetapi
menggunakan sebagian lokasi RAM,
sehingga panjang tumpukan tidak tetap dapat
diubah sesuai keperluan.

Arsitektur Mikroprosesor 15
Arsitektur Mikroprosesor
INTEL 8085
Bagian Register
• Register PC (program counter): merupakan
register yang berisi alamat perintah berikutnya
yang akan diambil. Setelah RESET, PC=0.
Register PC pada 8085 panjang 16-bit
sehingga prosesor ini mampu mengalamati :
216 lokasi alamat memori
atau
65536 lokasi memori atau 64 kilo byte

Stack Pointer (SP)


Program Counter (PC)
16-bit
Arsitektur Mikroprosesor 16
Arsitektur Mikroprosesor
INTEL 8086
Tinjauan Umum
• 8086 merupakan mikroprosesor 16-bit, artinya
bagian ALU, register internalnya, dan sebagian
besar instruksi-instruksinya dirancang untuk
bekerja pada data 16-bit.
• 8086 memiliki bus data 16-bit, jadi ia dapat
membaca data dari atau menyimpan data ke
memori dan port-port yang ada dalam format
16-bit atau 8-bit .

Arsitektur Mikroprosesor 17
Arsitektur Mikroprosesor
INTEL 8086
Tinjauan Umum
• 8086 memiliki bus alamat 20-bit, sehingga ia dapat
mengalamati 220 atau 1.048.576 lokasi memori atau 1
MB memori, sedangkan register PC atau IP
(instruction pointer) yang dimilikinya panjangnya 16-
bit. Hal inilahyang merupakan keunggulan dari 8086.
• Prosesor lain yang sejenis dengan 8086 adalah 8088.
8088 memiliki ALU, register, dan set instruksi yang
sama dengan 8086. 8088 juga memiliki bus alamat
20-bit, jadi ia juga bisa mengalamati memori 1 MB.

Arsitektur Mikroprosesor 18
Arsitektur Mikroprosesor
INTEL 8086
Tinjauan Umum
• Perbedaan 8088 dan 8086, 8088 memiliki bus
data 8-bit, sedangkan 8086 lebar bus datanya
16-bit. 8088 hanya dapat membaca dari atau
menulisi data ke memori dan port-port dengan
panjang 8-bit. Untuk membaca word 16-bit dari
dua lokasi memori, 8088 selalu mengerjakan
dengan dua operasi baca. 8088 pada awalnya
digunakan sebagai CPU pada The Original IBM
Personal Computer.

Arsitektur Mikroprosesor 19
Arsitektur Mikroprosesor
INTEL 8086
20 bit

Register
16 bit Antrian
(FIFO)

Arsitektur Mikroprosesor 20
Arsitektur Mikroprosesor
INTEL 8086
• Prosesor 8086 terbagi menjadi 2 bagian fungsional yang
independen, yakni BIU (bus interface unit) dan EU
(execution unit).
• BIU bertugas mengirim kode-kode alamat keluar,
mengambil instruksi dari memori, dan membaca data
dari port dan memori. BIU menangani semua trnasfer
data dan alamat pada bus untuk membantu EU.
• EU meminta BIU untuk mengambilkan instruksi dan data
dari memori, mendekode dan melaksanakan instruksi

Arsitektur Mikroprosesor 21
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU)
• EU mengandung rangkaian-rangkaian kontrol yang
berfungsi mengarahkan operasi-operasi internal.
• Dekoder pada EU menerjemahkan instruksi-instruksi
yang telah diambil dari memori ke dalam urutan aksi.
• EU memilki ALU 16-bit dan dapat melakukan
penjumlahan, pengurangan, AND, OR, XOR, increment,
decrement, complement, atau shift bilangan biner.

Arsitektur Mikroprosesor 22
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU) : FLAG REGISTER
• 8086 memiliki register bendera dengan panjang 16-bit.
Dari 16-bit itu terdapat 9 bendera yang aktif.
• Dari 9 bendera yang aktif, 6 bendera di antaranya
(bendera kondisi) digunakan untuk menunjukkan
kondisi-kondisi yang dihasilkan oleh pelaksanaan
instruksi yakni bendera CF(carry flag), PF(parity flag),
AF(auxiliary carry flag), ZF(zero flag), SF(sign flag), dan
OF(overflow flag).

Arsitektur Mikroprosesor 23
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU): FLAG REGISTER
• Sedangkan 3 bendera lainnya (bendera kontrol) digunakan
untuk mengendalikan beberapa operasi prosesor. Bendera-
bendera kontrol ini berbeda dengan 6 bendera kondisi dalam
hal cara set dan reset-nya. Keenam bendera kondisi diset
dan direset oleh EU, berdasarkan hasil operasi-operasi
aritmetika atau logika, sedangkan 3 bendera kontrol diset
dan direset oleh instruksi-instruksi khusus yang ada pada
program. Bendera itu adalah TF (trap flag), IF (interrupt flag),
dan DF (direction flag).

Arsitektur Mikroprosesor 24
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU): FLAG REGISTER

Arsitektur Mikroprosesor 25
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU): FLAG REGISTER
• Set dan reset dari bendera CF(carry flag), PF(parity flag),
AF(auxillary carry flag), ZF(zero flag), dan SF(sign flag)
sama seperti bendera pada prosesor 8085.
• Bendera OF(overflow flag) akan set jika terjadi overflow
yakni jumlah bit hasil operasi lebih besar dari lebar
akumulator. Contoh: jika suatu operasi menghasilkan
bilangan dengan panjang 17-bit, sedangkan akumulator
8086 hanya 16-bit, maka bendera OF akan set.

Arsitektur Mikroprosesor 26
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU): FLAG REGISTER
• Bendera TF (trap flage) digunakan pada mode operasi
langkah tunggal (single step atau trace). Jika bendera
ini set, maka pelaksanaan instruksi akan dilakukan step
demi step.
• Bendera IF digunakan untuk mengijinkan interupsi dari
program.
• Bendera DF digunakan pada operasi string.

Arsitektur Mikroprosesor 27
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU): REGISTER SERBAGUNA
(GENERAL-PURPOSE REGISTERS)
• 8086 memiliki 8 buah register serbaguna yakni:
AH, AL, BH, BL, CH, CL, DH, DL. Khusus untuk
AL dinamakan pula AKUMULATOR.
• Jika register-register tersebut akan digunakan
sebagai register 16-bit, maka pasangan AH dan
AL membentuk AX, BH dan BL membentuk BX,
CH dan CL membentuk CX, serta DH dan DL
membentuk DX 16-bit.d

Arsitektur Mikroprosesor 28
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU): REGISTER SERBAGUNA
(GENERAL-PURPOSE REGISTERS)
8-bit 8-bit
AH AL
BH BL
CH CL
DH DL
AX, 16-bit
BX, 16-bit
CX, 16-bit
DX, 16-bit
Arsitektur Mikroprosesor 29
Arsitektur Mikroprosesor
INTEL 8086
EXECUTION UNIT (EU): REGISTER SERBAGUNA
(GENERAL-PURPOSE REGISTERS)
• AX: merupakan akumulator, sering digunakan
untuk menyimpan hasil sementara setelah
operasi aritmetika dan logika
• BX: sering digunakan sebagai register base untuk
menyimpan address base data yang terletak di
dalam memori dan juga address base tabel data.
• CX: dapat digunakan sebagai register count.
• DX: dapat digunakan sebagai register data.

Arsitektur Mikroprosesor 30
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Register Antrian
• Pada saat EU mendekode atau melaksanakan suatu
instruksi, ia tidak memerlukan menggunakan bus sehingga
dapat digunakan oleh BIU untuk mengambil 6 byte instruksi
sebagai instruksi berikutnya yang akan dilaksanakan.
• Instruksi-instruksi tersebut dinamakan prefetched instruction
dan oleh BIU disimpan dalam register FIFO (first-in first-
out) yang disebut juga register antrian.

Arsitektur Mikroprosesor 31
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Register Antrian
• Ketika EU siap melaksanakan instruksi berikutnya, ia
dengan mudah membaca instruksi-instruksi dari
register antrian dalam BIU.
• Jadi, ketika EU sedang melaksanakan suatu instruksi,
bus dapat digunakan oleh BIU untuk menulis dan
membaca memori serta mengambi instruksi berikutnya.

Arsitektur Mikroprosesor 32
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Register Antrian
• Teknologi yang memungkinkan pengambilan instruksi
berikutnya sambil melaksanakan instruksi yang ada
dinamakan pipelining. Berikut ini adalah contoh perbedaan
prosesor 8085 tanpa pipelining dan 8086 dengan pipelining
dalam melakukan pengambilan instruksi, pelaksanaan
instruksi, operasi read dan operasi write. Nampak bahwa
pipelining memberikan tingkat penggunaan bus yang lebih
efektif.

Arsitektur Mikroprosesor 33
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Register Antrian

8085

8086

Arsitektur Mikroprosesor 34
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Register Segmen
• 8086 mampu mengalamati 220 lokasi memori, sedangkan
panjang register IP yang dimilikinya hanya 16-bit.
• Untuk memperoleh 20-bit sinyal alamat, 8086
menggunakan bantuan register segmen. Gabungan antara
register segmen 16-bit dan IP 16-bit akan menghasilkan
20-bit sinyal alamat.

Arsitektur Mikroprosesor 35
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Register Segmen
• 8086 memilki 4 buah register segmen yakni CS (code segment),
SS (stack segment), ES (extra segment), dan DS (data segment).
• Jika suatu register segmen berisi kode misalnya CS berisi 348A,
maka CS dianggap memiliki alamat awal 348A0. BIU secara
otomatis akan menambahkan angka 0 di belakang isi segmen.
Setiap segmen menempati 64K byte memori, dan dapat
ditempatkan di mana saja di dalam ruang alamat 1-M byte.

Arsitektur Mikroprosesor 36
Arsitektur
Mikroprosesor
INTEL 8086

Bus Interface Unit


(BIU)
Register Segmen
• Contoh penempatan
alamat segmen pada
memori 8086.

Arsitektur Mikroprosesor 37
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Instrustion Pointer (IP)
• IP berisi instruksi
berikutnya yang akan
diambil. Alamat fisik
yang dihasilkan BIU
diperoleh dengan cara
seperti di samping.

Arsitektur Mikroprosesor 38
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Register Segmen
• Bagian alamat awal segmen yang tersimpan di dalam register
segmen dinamakan segment base, dalam contoh 348A adalah
segment base yang tersimpan dalam CS.
• Isi IP merupakan offset atau jarak (displacement) antara
alamat awal segmen dengan alamat fisik yang dihasilkan.
Pada contoh, IP=4214 berarti merupakan jarak antara348A0
(alamat awal segmen) s.d. 38AB4 (alamat fisik).

Arsitektur Mikroprosesor 39
Arsitektur Mikroprosesor
INTEL 8086
• Format penulisan alamat fisik:
segment base : offset form
Contoh:
Jika CS berisi 348A dan IP=4214, akan menghasilkan alamat fisik
38AB4. Alamat fisik tersebut dapat direpresentasikan/disajikan atau
ditulis dalam bentuk:
CS:IP atau 348A:4214 atau CS:IP=38AB4
Berapa alamat fisik yang direpresentasikan oleh 4370:561E, dan
7A32:0028

Arsitektur Mikroprosesor 40
Arsitektur Mikroprosesor
INTEL 8086
Register Stack Pointer(SP)
• Stack adalah bagian memori yang digunakan untuk menyimpan
alamat dan data selama subprogram dilaksanakan. Jika sub
program selesai dilaksanakan, isi stack dikembalikan ke lokasi
semula, yakni IP dan akumulator.
• SP merupakan register yang berisi offset 16-bit yang
menghasilkan alamat fisik teratas dari memori stack. Untuk
membangkitkan alamat fisik 20-bit, SP memerlukan bantuan
register SS (stack segment).

Arsitektur Mikroprosesor 41
Arsitektur Mikroprosesor
INTEL 8086
Register Stack Pointer(SP)
• Contoh: jika isi SS=5000 dan isi SP=FFE0, maka akan menghasilkan
alamat fisik:
SS 5 0 0 0 0  hardwired zero
SP + F F E 0
Alamat ------> 5 F F E 0
fisik
• Alamat fisik tersebut dapat direpresentasikan dalam 5FFE0 (single
number) atau dalam bentuk SS:SP yakni 5000:FFE0.

Arsitektur Mikroprosesor 42
Arsitektur Mikroprosesor
INTEL 8086
Register Index dan Pointer
• Kecuali SP, EU pada 8086 juga memiliki register base pointer
(BP) 16-bit, dan juga register index SI (source index) 16-bit, dan
DI (destination index) 16-bit.
• Walaupun BP, SI, dan DI dapat digunakan sebagai penyimpan
sementara dari data seperti halnya pada register serbaguna,
namun penggunaan utama mereka adalah menyediakan offset
16-bit dari data untuk suatu segmen base. Contoh: Alamat fisik
data pada memori akan dibangkitkan dengan menambah isi SI
dengan alamat segmen base yang direpresentasikan oleh
bilangan 16-bit dalam register DS.

Arsitektur Mikroprosesor 43
Arsitektur Simulator SMS32V23

Deskripsi Simulator:
• Arsitektur SMS32V23 atau versi terbarunya SMS32V50
hampir mirip dengan CPU 8-bit keluarga 80x86 sehingga
simulator ini dapat mengemulasi watak prosesor keluarga
80x86.
• Memiliki RAM yang terkoneksi dengan CPU dengan
kapasitas 256 byte.
• Versi shareware tidak bisa menjalankan instruksi: CALL,
RET, INT dan IRET, dengan demikian hardware timer
interrupt juga tidak bisa berfungsi.

Arsitektur Mikroprosesor 44
Arsitektur Simulator SMS32V23/SMS32V50
Register SMS32V23/SMS32V50
• Register serbaguna 8-bit: AL, BL, CL, DL
• Register khusus: IP (instruction pointer) 8-
bit, SR (status register) dan SP (stack
pointer) 8-bit.
• Register SR atau flags register memiliki
panjang 8-bit tetapi hanya aktif 4-bit saja
yakni: zero flag, sign flag, overflow flag dan
interrupt flag.
Arsitektur Mikroprosesor 46
Register SMS32V23/SMS32V50
Stack Pointer (SP)
• Stack merupakan area memori yang diatur
menggunakan aturan LIFO (last-in first-out).
SP berisi alamat stack teratas dari memori.
Memori stack pada simulator ini diawali
pada alamat BF.
• Memori stack diakses dengan perintah PUSH
dan POP
Arsitektur Mikroprosesor 47
Arsitektur Mikroprosesor 48
Memori SMS32V23/SMS32V50
Random Access Memory
• Simulator memiliki memori berkapasitas
256 byte dengan alamat dari 0 sd 255 dalam
decimal atau dari [00] sd [FF] dalam
hexadecimal. Alamat RAM biasanya ditulis
di anatara tanda [ dan ], contoh [7C] dengan
7C merupakan bilangan heksadesimal
menunjukkan “data disimpan di lokasi 7C".
Arsitektur Mikroprosesor 49
Arsitektur SMS32V23: RAM
Bahasa Pemrograman
• High Level Language (HLL): bahasa pemrograman yang menggunakan
variabel sebagai peyimpan data. Contoh: pemrograman Matlab untuk
menghitung 5+2:
A=5;
B=2;
C=A+B;
A, B, dan C adalah variabel. Contoh HLL yang lain: Pascal (Delphi), dan
C++.
• Low Level Language (assembly): bahasa pemrograman yang
menggunakan register sebagai peyimpan data. Contoh: pemrograman
untuk menghitung 5+2:
MOV AL,5
ADD AL,2
AL adalah register
Level Kode

Format Assembly Format


Heksadesimal

Level Manusia Level Mesin


Format instruksi assembly
LABEL OPCODE OPERAND COMMENT

Contoh: MOV AL,5


LDAA #$5

1. Baris pertama adalah instruksi mesin 2 alamat seperti


INTEL, artinya pindahkan/isikan (MOV) ke dalam
register AL bilangan 5 heksadesimal
2. Baris kedua instruksi mesin 1 alamat seperti
MOTOROLA, atinya pindahkan/isikan ke dalam
Register A bilangan 5 heksadesimal.

Anda mungkin juga menyukai