3.2 Tambahan Arsitektur Intel 8085 86
-
Upload
riyoprilian -
Category
Documents
-
view
183 -
download
8
description
Transcript of 3.2 Tambahan Arsitektur Intel 8085 86
-
Arsitektur Mikroprosesor 1
Mikroprosesor
Bab 3: Arsitektur Mikroprosesor
INTEL 8085 INTEL 8086
SIMULATOR SMS32V23
-
Arsitektur Mikroprosesor 2
Arsitektur Mikroprosesor INTEL 8085
-
Arsitektur Mikroprosesor 3
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.
ACCUMULATOR TEMP. REG.
ALU
8-BIT INTERNAL DATA BUS
-
Arsitektur Mikroprosesor 4
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 5
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 6
Arsitektur Mikroprosesor INTEL 8085
ALU dan Register yang digunakan ALU membangkitkan bit bendera (flag bit)
yang disimpan dalam REGISTER BENDERA.
FLAG FLIP FLOPS
ALU
8-BIT INTERNAL DATA BUS
ACC TMP
-
Arsitektur Mikroprosesor 7
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 8
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 9
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 isi Akumulator 0000 0101 + isi TMP 0011 0111 isi Akumulator setelah perintah penjumlahan dilaksanakan
Bit ke-7 Bit ke-0 Bit ke-3
Penjumlahan bit ke-3 tidak menghasilkan carry sehingga AC=0
-
Arsitektur Mikroprosesor 10
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 dilaksanakan
Penjumlahan bit ke-3 menghasilkan carry sehingga AC=1
-
Arsitektur Mikroprosesor 11
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 12
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 13
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 14
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 15
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 16
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 17
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 18
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 19
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 20
Arsitektur Mikroprosesor INTEL 8086
20 bit
16 bit Register Antrian (FIFO)
-
Arsitektur Mikroprosesor 21
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 22
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 23
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 24
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 25
Arsitektur Mikroprosesor INTEL 8086
EXECUTION UNIT (EU): FLAG REGISTER
-
Arsitektur Mikroprosesor 26
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 27
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 28
Arsitektur Mikroprosesor INTEL 8086
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
EXECUTION UNIT (EU): REGISTER SERBAGUNA (GENERAL-PURPOSE REGISTERS)
-
Arsitektur Mikroprosesor 29
Arsitektur Mikroprosesor INTEL 8086
EXECUTION UNIT (EU): REGISTER SERBAGUNA (GENERAL-PURPOSE REGISTERS)
AH AL BH BL CH CL DH DL
8-bit 8-bit
AX, 16-bit BX, 16-bit CX, 16-bit DX, 16-bit
-
Arsitektur Mikroprosesor 30
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 31
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 32
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 33
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 34
Arsitektur Mikroprosesor INTEL 8086
Bus Interface Unit (BIU) Register Antrian
8085
8086
-
Arsitektur Mikroprosesor 35
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 36
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 37
Arsitektur Mikroprosesor
INTEL 8086
Bus Interface Unit (BIU)
Register Segmen Contoh
penempatan alamat segmen
pada memori 8086.
-
Arsitektur Mikroprosesor 38
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 39
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 40
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 41
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 42
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 43
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.
-
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
-
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; A=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 Mesin Level Manusia
-
Format instruksi assembly
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.
LABEL OPCODE OPERAND COMMENT
Contoh: MOV AL,5
LDAA #$5
MikroprosesorSlide Number 2Slide Number 3Slide Number 4Slide Number 5Slide Number 6Slide Number 7Slide Number 8Slide Number 9Slide Number 10Slide Number 11Slide Number 12Slide Number 13Slide Number 14Slide Number 15Slide Number 16Slide Number 17Slide Number 18Slide Number 19Slide Number 20Slide Number 21Slide Number 22Slide Number 23Slide Number 24Slide Number 25Slide Number 26Slide Number 27Slide Number 28Slide Number 29Slide Number 30Slide Number 31Slide Number 32Slide Number 33Slide Number 34Slide Number 35Slide Number 36Slide Number 37Slide Number 38Slide Number 39Slide Number 40Slide Number 41Slide Number 42Slide Number 43Slide Number 44Arsitektur Simulator SMS32V23/SMS32V50Register SMS32V23/SMS32V50Register SMS32V23/SMS32V50Slide Number 48Memori SMS32V23/SMS32V50Arsitektur SMS32V23: RAMBahasa PemrogramanLevel KodeFormat instruksi assembly