SlideShare a Scribd company logo
1 of 47
SIMPLE AS POSSIBLE COMPUTER 2
2
Instruction Set SAP-1 (2)
° Instruksi-instruksi pada SAP-1 :
• LDA (Load the Accumulator)
- Untuk mengambil data dari memori dan dimasukkan ke
dalam accumulator
- Contoh : LDA AH
• ADD
- Untuk menjumlahkan isi accumulator dengan data
memori
- Contoh : ADD 8H
• SUB
- Untuk mengurangkan isi accumulator dengan isi register
B
- Contoh : SUB DH
3
Arsitektur SAP-2
4
Register Masukan
• SAP-2 memiliki 2 buah register
masukan diberi nomor 1 dan 2
• Dihubungkan dengan keyboard
heksadesimal untuk menuliskan
data & instruksi
• Sinyal Ready dikirim ke jalur 0
register masukan 2 untuk
menunjukkan data pada
register masukan 1 telah benar
• Sinyal IN SERIAL untuk masuk
ke jalur 7 pada register
masukan 2
5
Pencacah Program & MAR
PENCACAH PROGRAM
• Lebar 16-bit (0000 H – FFFF H)
• Nilai pencacah masuk ke MAR
• Instruksi dilaksanakan secara
berurutan dari alamat 0000
sampai ketemu instruksi HLT
• Dapat diisi nilai 16-bit dari
instruksi jump
• Jalur yang menghubungkan
pencacah dengan bus W ada 2
• 1 jalur untuk mengirim nilai
• 1 jalur untuk menerima
jump
MAR
• Menerjemahkan alamat dari PC
untukdiproses ke memori
6
Memori 64 KB
• Lebar data 8-bit
• Penggunaan alamat memori :
• 2KB awal (0000 H - 07FF
H) untuk program monitor
• 0800 H – FFFF H untuk
instruksi dan data
• Program monitor untuk
masukan dari keyboard dan
kondisi yang terjadi selama
proses
7
Memori Data Register
• Untuk menyimpan sementara
data yang dibaca atau akan
dimasukkan ke dalam memori
• Saat operasi baca data masuk
ke MDR untuk diteruskan ke
bus W
• Saat operasi tulis, data dari bus
W akan diteruskan ke memori
8
Register Instruksi (IR) & Controller/Sequencer (CS)
REGISTER INSTRUKSI
• Instruksi lebarnya 8-bit (sama
dg prosesor 8080/8085 dari
intel) untuk diteruskan ke
controller/ sequencer
• Jumlah instruksi yang bisa
dimiliki 28
= 256 buah
• SAP-2 hanya punya 42 instruksi
CONTROLLER/SEQUENCER
• Instruksi dari IR akan
diterjemahkan mejadi sinyal
kontrol (CON)
9
Akumulator A & ALU
AKUMULATOR
• Untuk menyimpan sementara
hasil operasi ALU
• Data dari bus W bisa dari
memori atau hasil operasi ALU
• Keluaran data dpt ditransfer ke
register keluaran
ALU
• Untuk menyelesaikan operasi
aritmetika & logika
• Lebar 8-bit (jadi SAP-2 adlh
prosesor 8-bit)
• Terdapat 2-bit flag :
• 1 bit untuk sign flag (1 hasil
ALU negatif, 0 positif)
• 1 bit untuk zero flag (1 hasil
bukan 0, 0 hasil 0)
10
Register tmp, B, dan C
• Untuk menyimpan sementara
nilai yang akan dioperasikan
atau hasil operasi
• Khusus register TMP
menyimpan data yang akan
dioperasikan oleh ALU.
• Lebih banyak register untuk
menyimpan data sementara
akan lebih baik
• Data sementara tidak hanya
disimpan di akumulator A
11
Register Keluaran 3 & 4
• Untuk mengkomunikasikan
hasil proses dengan pengguna.
• Pengguna dapat melihat
hasilnya lewat Peraga
Heksadesimal
12
Jalur 2 Arah (1)
(a) JALUR SATU ARAH
(b) JALUR DUA ARAH (satu
untuk IN satu untuk OUT)
13
Contoh Jalur 2 Arah pada Akumulator (2)
• Data bisa mengalir dari Akumulator ke bus W dan
sebaliknya
• Aliran data dikendalikan oleh jalur kendali :
• EN  mengendalikan data dari Akumulator ke bus W
• CK  untuk detak (clock) yang mentrigger proses
• LOAD  untuk mengendalikan data dari bus W ke
Akumulator
• Dengan jalur 2 arah, perusahaan chip tidak perlu
menyediakan banyak jalur ke sebuah register
14
Instruction Set SAP-2
° Instruksi terdiri dari 2 bagian :
• Operational code
• Operand (nilai yang dioperasikan)
° Kebutuhan memori untuk operand tergantung jenis instruksi
° Contoh 3 instruksi dimulai dari alamat 1000 H:
• ADD B  op code 80, tidak butuh memori
• MOV A,18H  op code 3E butuh 1 alamat memori
• STA 4861H  op code 32 butuh 2 alamat memori
15
Operasional Code (1)
16
Operasional Code (2)
17
Operasional Code (3)
18
Operasional Code (4)
19
Jenis-jenis instruksi
Jenis instruksi SAP-2 dapat dikelompokkan :
° Instruksi Mengacu Memori (Memory Reference
Instruction, MRI)
° Instruksi antar Register
° Instruksi Lompat dan Pemanggilan (Jump & Call
Instruction)
° Instruksi Logika (Logic Instruction)
° Instruksi lain-lain
20
Siklus Instruksi
° Secara garis besar, instruksi pada SAP-2 diselesaikan
jadi 3 tahap :
• Fetch
- Siklus Fetch sama dg SAP-1 di mana akhir dari siklus
adalah op code ada di IR
• Penerjemahan (decode)
- Siklus penerjemah dilakukan di controller/sequencer
- hasil penerjemahan dikeluarkan oleh CON dan
digunakan pada tahap eksekusi
• Eksekusi
- Melakukan eksekusi berdasarkan sinyal kontrol CON
21
MRI
° Contoh :
• LDA (load the accumulator)
• STA (store the accumulator)
• MOV (move; untuk yang tipe immediate)
° MRI melibatkan pengaksesan memori 2x, yaitu saat
fetch dan eksekusi, sehingga lama.
22
MRI - LDA
° Berfungsi untuk mengambil data memori alamat
tertentu dan dipindahkan ke dalam akumulator
° Format instruksi :
LDA alamat
Contoh :
LDA 1500 H
Instruksi memindahkan data memori alamat
1500H ke akumulator
23
MRI - STA
° Berfungsi untuk mengambil data pada akumulator dan
memindahkannya ke memori alamat tertentu
° Format instruksi :
STA alamat
Contoh :
STA 1501 H
Misal sebelum instruksi isi akumulator 4E H.
Maka nilai 4E H ini akan disalin ke memori
alamat 1501 H
24
MRI – MOV (untuk yg mov immediate)
° Berfungsi untuk transfer data yang memindahkan 8 bit
data ke dalam register. Operand yang terlibat adalah
register A, B, C.
° Format instruksi :
MOV register, byte
Contoh :
MOV A, 45 H
MOV B, 5E H
MOV C, F3H
Setelah 3 instruksi dijalankan, maka nilai
register A = 45H, B=5EH, C = F3H
25
Instruksi antar Register
° Proses perpindahan data tidak menggunakan memori
° Terjadi antar register secara langsung
° Lebih cepat daripada MRI
° Contoh :
• MOV (move; untuk move register)
• ADD
• SUB
• INR (Increment)
• DCR (Decrement)
26
Instruksi antar Register – MOV (move register)
° Berfungsi untuk transfer data yang memindahkan 8 bit
data ke dalam register. Operand yang terlibat adalah
register A, B, C.
° Format instruksi :
MOV register, register
Contoh :
MOV A, B
MOV B, C
MOV C, A
27
Instruksi antar Register – ADD & SUB
° Berfungsi untuk menambah atau mengurangi nilai
akumulator dengan nilai register tertentu dan hasilnya
disimpan di akumulator. Register yang terlibat adalah
register B dan C.
° Format instruksi :
ADD register
SUB register
Contoh :
ADD C
SUB B
28
Instruksi antar Register – INR & DCR
° Berfungsi menambahkan nilai 1 (INR) atau
mengurangkan nilai 1 (DCR) pada register. Register
yang terlibat sebagai operand adalah A, B, C.
° Format instruksi :
INR register
DCR register
Contoh :
INR A  nilai A = A + 1
DCR B  nilai B = B - 1
29
Instruksi Jump
° Berfungsi untuk memungkinkan prosesor
mengeksekusi instruksi tidak secara berurutan
° Nilai PC dapat diubah sesuai dengan kondisi dan
instruksi lompat atau pemanggilan
° Contoh :
• JMP (Jump)
• JM (Jump if Minus)
• JZ (Jump if Zero)
• JNZ (Jump if Not Zero)
° Di antara keempat instruksi, JMP termasuk instruksi
lompatan tidak bersyarat (uncoditional jump) dan JM,
JZ, JNZ adalah lompatan bersyarat (conditional jump)
30
Instruksi Jump – JMP
° Adalah instruksi lompatan tidak bersyarat yang
mengakibatkan prosesor mengalihkan eksekusi
program sesuai dengan alamat tujuan lompatan
° Format instruksi :
JMP alamat
Contoh :
JMP 2500 H
Instruksi ini memberitahu prosesor untuk
menjalankan instruksi di 2500 H. PC  2500H
31
Instruksi Jump – JM (Jump if Minus)
° Adalah instruksi lompatan bersyarat. Prosesor akan
memeriksa flag sign keluaran dari ALU. Jika Sign 1
(negatif) maka lompatan dilakukan
° Format instruksi :
JM alamat
Contoh :
Asumsi nilai reg A = 45H, B = 10H, C = 60H
SUB B; A = A – B = 45H – 10 H = 35 H
JM 1000 H;
SUB C; A = A – C
JM 2600 H;
Hasil SUB +, tdk dilakukan
jump ke 1000 H
Hasil SUB -, dilakukan jump
ke 2600 H
32
Instruksi Jump – JZ (Jump if Zero)
° Adalah instruksi lompatan bersyarat. Prosesor akan
memeriksa zero keluaran dari ALU. Jika flag Zero 1
(nol) maka lompatan dilakukan
° Format instruksi :
JZ alamat
Contoh :
JZ 2500 H
Instruksi ini memberitahu prosesor untuk
lompat ke instruksi di 2500 H jika zero flag 1
33
Instruksi Jump – JNZ (Jump if Not Zero)
° Adalah instruksi lompatan bersyarat. Prosesor akan
memeriksa zero keluaran dari ALU. Jika flag Zero 0
(hasil ALU tidak 0) maka lompatan dilakukan
° Format instruksi :
JNZ alamat
Contoh :
JZ 2500 H
Instruksi ini memberitahu prosesor untuk
lompat ke instruksi di 2500 H jika zero flag 0
34
Instruksi CALL & RET (return)
° Konsep sub rutin memudahkan pembagian tugas
utama yang diselesaikan oleh program utama dan sub-
program.
° Bagian yang sering dieksekusi tidak harus terus
menerus ditulis dalam program utama.
° Bagian ini dapat ditulis secara terpisah pada alamat
tertentu, disebut subrutin atau prosedur.
35
Instruksi CALL & RETURN
° CALL adalah instruksi untuk memanggil subrutin.
RETURN untuk mengakhirinya.
° Format instruksi :
CALL alamat
Contoh :
Misal kita punya subrutin faktorial di alamat
4000H sampai 4500 H . Untuk memanggil
subrutin faktorial tersebut dilakukan
pemanggilan berikut :
CALL 4000 H
36
Contoh CALL & RETURN di SAP-2
37
Contoh CALL & RETURN di SAP-2
Ketika terjadi call yang terletak di alamat 1001H – 1003H,
alamat terakhir (1004H) akan disimpan pada akhir memori.
Alamat FFFE H dan FFFF H dialokasikan untuk alamat
kembali.
38
Instruksi Logika
° Dikerjakan oleh ALU
° Proses logika adalah proses yang didasarkan pada
peraturan aljabar logika
° Contoh :
• CMA (complement the accumulator)
• ANA (and the accumulator)
• ORA (or the accumulator)
• XRA (xor the accumulator)
• XRI (xor immediate)
39
Instruksi Logika – CMA (complement the accumulator)
° Instruksi ini berfungsi melakukan komplemen isi
akumulator, yaitu mengubah setiap bit dalam
akumulator dengan nilai kebalikannya
° Format instruksi :
CMA
Contoh :
Misal nilai akumulator saat ini adalah A = 00101100
Setelah instruksi CMA A = 11010011
40
Instruksi Logika – ANA (and the accumulator)
° Instruksi ini berfungsi melakukan operasi AND isi
akumulatir dengan isi register. Register operand adalah
register B, C
° Format instruksi :
ANA register
Contoh :
Misal nilai akumulator saat ini adalah A = 00101100
B = 00011001
Setelah instruksi ANA B = 00001000
41
Instruksi Logika – ORA (or the accumulator)
° Instruksi ini berfungsi melakukan operasi OR isi
akumulatir dengan isi register. Register operand adalah
register B, C
° Format instruksi :
ORA register
Contoh :
Misal nilai akumulator saat ini adalah A = 00101100
B = 00011001
Setelah instruksi ORA B = 00111101
42
Instruksi Logika – XRA (xor the accumulator)
° Instruksi ini berfungsi melakukan operasi XOR isi
akumulatir dengan isi register. Register operand adalah
register B, C
° Format instruksi :
XRA register
Contoh :
Misal nilai akumulator saat ini adalah A = 00101100
B = 00011001
Setelah instruksi XRA B = 00110101
43
Instruksi Logika – ANI (and immediate the accumulator)
° Instruksi ini berfungsi melakukan operasi AND isi
akumulatir dengan suatu nilai 8-bit. Register operand
adalah register B, C
° Format instruksi :
ANI byte
Contoh :
Misal nilai akumulator saat ini adalah A = 00101100
Setelah instruksi ANI 00110010
A = 00100000
44
Instruksi Logika – ORI (or immediate the accumulator)
° Instruksi ini berfungsi melakukan operasi OR isi
akumulatir dengan suatu nilai 8-bit. Register operand
adalah register B, C
° Format instruksi :
ORI byte
Contoh :
Misal nilai akumulator saat ini adalah A = 00101100
Setelah instruksi ORI 00110010
A = 00111110
45
Instruksi Logika – XRI (xor immediate the accumulator)
° Instruksi ini berfungsi melakukan operasi XOR isi
akumulatir dengan suatu nilai 8-bit. Register operand
adalah register B, C
° Format instruksi :
XRI byte
Contoh :
Misal nilai akumulator saat ini adalah A = 00101100
Setelah instruksi XRI 00110010
A = 00011110
46
Instruksi lain-lain (1)
° Contoh :
• NOP (no operation)
- Prosesor tidak melakukan apa-apa.
- Digunakan sebagai jeda
- Sering digunakan pada proses pipeline, yaitu upaya
peningkatan kecepatan proses dengan melaksanakan
beberapa instruksi secara bersamaan
• IN (input)
- Untuk memindahkan data dari register masukan ke
akumulator
- Format instruksi : IN byte (IN 100001101)
• HLT (HALT)
- Sebagai tanda akhir dari program
• OUT (output)
- Memindahkan data dari akumulator ke register keluaran
47
Instruksi lain-lain (2)
° Contoh :
• RAL (Rotate the accumulator left)
- Memutar nilai akumulator ke kiri satu bis
- Misal A = 11001000
- Setelah instruksi RAL A = 10010001
• RAR (Rotate the accumulator right)
- Memutar nilai akumulator ke kanan satu bit
- Misal A = 11001000
- Setelah instruksi RAR maka nilai A = 01100100

More Related Content

What's hot

3. central prosesing unit
3. central prosesing unit 3. central prosesing unit
3. central prosesing unit Wandi Parlente
 
Register B dan Adder
Register B dan AdderRegister B dan Adder
Register B dan AdderLusiana Diyan
 
Control unit dan register output
Control unit dan register outputControl unit dan register output
Control unit dan register outputLusiana Diyan
 
Cara kerja rangkaian up counter dan down counter
Cara kerja rangkaian up counter dan down counterCara kerja rangkaian up counter dan down counter
Cara kerja rangkaian up counter dan down counterPT.goLom na
 
7 6 synchronous(parallel) counters
7 6 synchronous(parallel) counters7 6 synchronous(parallel) counters
7 6 synchronous(parallel) countersNaufal Qodari
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR KEN KEN
 
2 input output dan internal memori
2 input output dan internal memori2 input output dan internal memori
2 input output dan internal memoriSimon Patabang
 
Shift register dan data direction
Shift register dan data directionShift register dan data direction
Shift register dan data directionrahardian24
 
Rangkuman UTS JTPT Telkom University
Rangkuman UTS JTPT Telkom UniversityRangkuman UTS JTPT Telkom University
Rangkuman UTS JTPT Telkom UniversityZufar Dhiyaulhaq
 
Kertas Kerja (PLC)
Kertas Kerja (PLC)Kertas Kerja (PLC)
Kertas Kerja (PLC)juan_fjfn
 
Register Instruksi dan Accumulator
Register Instruksi dan AccumulatorRegister Instruksi dan Accumulator
Register Instruksi dan AccumulatorLusiana Diyan
 
Kontrol pid dengan matlab
Kontrol pid dengan matlabKontrol pid dengan matlab
Kontrol pid dengan matlabPamor Gunoto
 

What's hot (20)

3. central prosesing unit
3. central prosesing unit 3. central prosesing unit
3. central prosesing unit
 
Register B dan Adder
Register B dan AdderRegister B dan Adder
Register B dan Adder
 
Control unit dan register output
Control unit dan register outputControl unit dan register output
Control unit dan register output
 
Register
RegisterRegister
Register
 
Cara kerja rangkaian up counter dan down counter
Cara kerja rangkaian up counter dan down counterCara kerja rangkaian up counter dan down counter
Cara kerja rangkaian up counter dan down counter
 
7 6 synchronous(parallel) counters
7 6 synchronous(parallel) counters7 6 synchronous(parallel) counters
7 6 synchronous(parallel) counters
 
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
Pengetahuan Dasar penggunaan Timer dan Counter Microcontroller AVR
 
Ppt register
Ppt register Ppt register
Ppt register
 
2 input output dan internal memori
2 input output dan internal memori2 input output dan internal memori
2 input output dan internal memori
 
Shift register dan data direction
Shift register dan data directionShift register dan data direction
Shift register dan data direction
 
2. plc fix
2. plc fix2. plc fix
2. plc fix
 
Rangkuman UTS JTPT Telkom University
Rangkuman UTS JTPT Telkom UniversityRangkuman UTS JTPT Telkom University
Rangkuman UTS JTPT Telkom University
 
Register geser
Register geserRegister geser
Register geser
 
Kertas Kerja (PLC)
Kertas Kerja (PLC)Kertas Kerja (PLC)
Kertas Kerja (PLC)
 
Register Instruksi dan Accumulator
Register Instruksi dan AccumulatorRegister Instruksi dan Accumulator
Register Instruksi dan Accumulator
 
Kontrol pid dengan matlab
Kontrol pid dengan matlabKontrol pid dengan matlab
Kontrol pid dengan matlab
 
Dasar sistem kontrol
Dasar sistem kontrolDasar sistem kontrol
Dasar sistem kontrol
 
Prosessor SAP 1
Prosessor SAP 1Prosessor SAP 1
Prosessor SAP 1
 
Register dan Shift Register
Register dan Shift RegisterRegister dan Shift Register
Register dan Shift Register
 
Pertemuan 9 orkom
Pertemuan 9 orkomPertemuan 9 orkom
Pertemuan 9 orkom
 

Similar to Pert 6

2 mikrokontroler atmega 8535
2 mikrokontroler atmega 85352 mikrokontroler atmega 8535
2 mikrokontroler atmega 8535Agung Gumelar
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatanBuhori Muslim
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23France Rhezhek
 
Tipe dan format instruksi 2
Tipe dan format instruksi 2Tipe dan format instruksi 2
Tipe dan format instruksi 2Rosyid Ridlo
 
Tradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.pdfTradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.pdfGheaTutkey1
 
simple-as-possible-computer-1.ppt
simple-as-possible-computer-1.pptsimple-as-possible-computer-1.ppt
simple-as-possible-computer-1.pptwidieyyaya
 
Tradicanthya JG Tutkey UTS Mikrokontroler.docx
Tradicanthya JG Tutkey UTS Mikrokontroler.docxTradicanthya JG Tutkey UTS Mikrokontroler.docx
Tradicanthya JG Tutkey UTS Mikrokontroler.docxGheaTutkey1
 
Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Mabekni Yulianto
 
Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535LAZY MAGICIAN
 
Pertemuan 3. Struktur CPU.ppt
Pertemuan 3. Struktur CPU.pptPertemuan 3. Struktur CPU.ppt
Pertemuan 3. Struktur CPU.pptDoniOktaviana2
 
MODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKMODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKDidik Supriyono
 
Mikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontrolerMikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontrolerAzizah Amel
 
Pert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelPert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelIcal Militanmannojack
 
Materi mode format pengalamatan
Materi mode format pengalamatanMateri mode format pengalamatan
Materi mode format pengalamatanAli Must Can
 
Pertemuan 4 set instruksi arm, motorola, dan intel
Pertemuan 4 set instruksi arm, motorola, dan intelPertemuan 4 set instruksi arm, motorola, dan intel
Pertemuan 4 set instruksi arm, motorola, dan inteljumiathyasiz
 
ADC (ANALOG TO DIGITAL CONVERTER).pptx
ADC (ANALOG TO DIGITAL CONVERTER).pptxADC (ANALOG TO DIGITAL CONVERTER).pptx
ADC (ANALOG TO DIGITAL CONVERTER).pptxAlihkwaDanaRangkuti
 

Similar to Pert 6 (20)

Sap 2
Sap 2Sap 2
Sap 2
 
2 mikrokontroler atmega 8535
2 mikrokontroler atmega 85352 mikrokontroler atmega 8535
2 mikrokontroler atmega 8535
 
Sismik
Sismik Sismik
Sismik
 
Bahasa assembly
Bahasa assemblyBahasa assembly
Bahasa assembly
 
Pertemuan 9 pengalamatan
Pertemuan 9 pengalamatanPertemuan 9 pengalamatan
Pertemuan 9 pengalamatan
 
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23Pertemuan 3-instruksi-mesin-dan-program-bagian-23
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
 
Tipe dan format instruksi 2
Tipe dan format instruksi 2Tipe dan format instruksi 2
Tipe dan format instruksi 2
 
Resume komputer sap
Resume komputer sapResume komputer sap
Resume komputer sap
 
Tradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.pdfTradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.pdf
 
simple-as-possible-computer-1.ppt
simple-as-possible-computer-1.pptsimple-as-possible-computer-1.ppt
simple-as-possible-computer-1.ppt
 
Tradicanthya JG Tutkey UTS Mikrokontroler.docx
Tradicanthya JG Tutkey UTS Mikrokontroler.docxTradicanthya JG Tutkey UTS Mikrokontroler.docx
Tradicanthya JG Tutkey UTS Mikrokontroler.docx
 
Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial v3
 
Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535Basic avr-microcontroller-tutorial 8535
Basic avr-microcontroller-tutorial 8535
 
Pertemuan 3. Struktur CPU.ppt
Pertemuan 3. Struktur CPU.pptPertemuan 3. Struktur CPU.ppt
Pertemuan 3. Struktur CPU.ppt
 
MODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIKMODUL PLC (Programmable Logic Control) DIDIK
MODUL PLC (Programmable Logic Control) DIDIK
 
Mikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontrolerMikroprosesor dan mikrokontroler
Mikroprosesor dan mikrokontroler
 
Pert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intelPert.5 set instruksi arm,motorolla dan intel
Pert.5 set instruksi arm,motorolla dan intel
 
Materi mode format pengalamatan
Materi mode format pengalamatanMateri mode format pengalamatan
Materi mode format pengalamatan
 
Pertemuan 4 set instruksi arm, motorola, dan intel
Pertemuan 4 set instruksi arm, motorola, dan intelPertemuan 4 set instruksi arm, motorola, dan intel
Pertemuan 4 set instruksi arm, motorola, dan intel
 
ADC (ANALOG TO DIGITAL CONVERTER).pptx
ADC (ANALOG TO DIGITAL CONVERTER).pptxADC (ANALOG TO DIGITAL CONVERTER).pptx
ADC (ANALOG TO DIGITAL CONVERTER).pptx
 

More from Wanti

Pert 13
Pert 13Pert 13
Pert 13Wanti
 
Pert 12
Pert 12Pert 12
Pert 12Wanti
 
Pert 11
Pert 11Pert 11
Pert 11Wanti
 
Pert 10
Pert 10Pert 10
Pert 10Wanti
 
Pert 9
Pert 9Pert 9
Pert 9Wanti
 
AOK Pertemuan 8
AOK Pertemuan 8AOK Pertemuan 8
AOK Pertemuan 8Wanti
 

More from Wanti (6)

Pert 13
Pert 13Pert 13
Pert 13
 
Pert 12
Pert 12Pert 12
Pert 12
 
Pert 11
Pert 11Pert 11
Pert 11
 
Pert 10
Pert 10Pert 10
Pert 10
 
Pert 9
Pert 9Pert 9
Pert 9
 
AOK Pertemuan 8
AOK Pertemuan 8AOK Pertemuan 8
AOK Pertemuan 8
 

Pert 6

  • 1. SIMPLE AS POSSIBLE COMPUTER 2
  • 2. 2 Instruction Set SAP-1 (2) ° Instruksi-instruksi pada SAP-1 : • LDA (Load the Accumulator) - Untuk mengambil data dari memori dan dimasukkan ke dalam accumulator - Contoh : LDA AH • ADD - Untuk menjumlahkan isi accumulator dengan data memori - Contoh : ADD 8H • SUB - Untuk mengurangkan isi accumulator dengan isi register B - Contoh : SUB DH
  • 4. 4 Register Masukan • SAP-2 memiliki 2 buah register masukan diberi nomor 1 dan 2 • Dihubungkan dengan keyboard heksadesimal untuk menuliskan data & instruksi • Sinyal Ready dikirim ke jalur 0 register masukan 2 untuk menunjukkan data pada register masukan 1 telah benar • Sinyal IN SERIAL untuk masuk ke jalur 7 pada register masukan 2
  • 5. 5 Pencacah Program & MAR PENCACAH PROGRAM • Lebar 16-bit (0000 H – FFFF H) • Nilai pencacah masuk ke MAR • Instruksi dilaksanakan secara berurutan dari alamat 0000 sampai ketemu instruksi HLT • Dapat diisi nilai 16-bit dari instruksi jump • Jalur yang menghubungkan pencacah dengan bus W ada 2 • 1 jalur untuk mengirim nilai • 1 jalur untuk menerima jump MAR • Menerjemahkan alamat dari PC untukdiproses ke memori
  • 6. 6 Memori 64 KB • Lebar data 8-bit • Penggunaan alamat memori : • 2KB awal (0000 H - 07FF H) untuk program monitor • 0800 H – FFFF H untuk instruksi dan data • Program monitor untuk masukan dari keyboard dan kondisi yang terjadi selama proses
  • 7. 7 Memori Data Register • Untuk menyimpan sementara data yang dibaca atau akan dimasukkan ke dalam memori • Saat operasi baca data masuk ke MDR untuk diteruskan ke bus W • Saat operasi tulis, data dari bus W akan diteruskan ke memori
  • 8. 8 Register Instruksi (IR) & Controller/Sequencer (CS) REGISTER INSTRUKSI • Instruksi lebarnya 8-bit (sama dg prosesor 8080/8085 dari intel) untuk diteruskan ke controller/ sequencer • Jumlah instruksi yang bisa dimiliki 28 = 256 buah • SAP-2 hanya punya 42 instruksi CONTROLLER/SEQUENCER • Instruksi dari IR akan diterjemahkan mejadi sinyal kontrol (CON)
  • 9. 9 Akumulator A & ALU AKUMULATOR • Untuk menyimpan sementara hasil operasi ALU • Data dari bus W bisa dari memori atau hasil operasi ALU • Keluaran data dpt ditransfer ke register keluaran ALU • Untuk menyelesaikan operasi aritmetika & logika • Lebar 8-bit (jadi SAP-2 adlh prosesor 8-bit) • Terdapat 2-bit flag : • 1 bit untuk sign flag (1 hasil ALU negatif, 0 positif) • 1 bit untuk zero flag (1 hasil bukan 0, 0 hasil 0)
  • 10. 10 Register tmp, B, dan C • Untuk menyimpan sementara nilai yang akan dioperasikan atau hasil operasi • Khusus register TMP menyimpan data yang akan dioperasikan oleh ALU. • Lebih banyak register untuk menyimpan data sementara akan lebih baik • Data sementara tidak hanya disimpan di akumulator A
  • 11. 11 Register Keluaran 3 & 4 • Untuk mengkomunikasikan hasil proses dengan pengguna. • Pengguna dapat melihat hasilnya lewat Peraga Heksadesimal
  • 12. 12 Jalur 2 Arah (1) (a) JALUR SATU ARAH (b) JALUR DUA ARAH (satu untuk IN satu untuk OUT)
  • 13. 13 Contoh Jalur 2 Arah pada Akumulator (2) • Data bisa mengalir dari Akumulator ke bus W dan sebaliknya • Aliran data dikendalikan oleh jalur kendali : • EN  mengendalikan data dari Akumulator ke bus W • CK  untuk detak (clock) yang mentrigger proses • LOAD  untuk mengendalikan data dari bus W ke Akumulator • Dengan jalur 2 arah, perusahaan chip tidak perlu menyediakan banyak jalur ke sebuah register
  • 14. 14 Instruction Set SAP-2 ° Instruksi terdiri dari 2 bagian : • Operational code • Operand (nilai yang dioperasikan) ° Kebutuhan memori untuk operand tergantung jenis instruksi ° Contoh 3 instruksi dimulai dari alamat 1000 H: • ADD B  op code 80, tidak butuh memori • MOV A,18H  op code 3E butuh 1 alamat memori • STA 4861H  op code 32 butuh 2 alamat memori
  • 19. 19 Jenis-jenis instruksi Jenis instruksi SAP-2 dapat dikelompokkan : ° Instruksi Mengacu Memori (Memory Reference Instruction, MRI) ° Instruksi antar Register ° Instruksi Lompat dan Pemanggilan (Jump & Call Instruction) ° Instruksi Logika (Logic Instruction) ° Instruksi lain-lain
  • 20. 20 Siklus Instruksi ° Secara garis besar, instruksi pada SAP-2 diselesaikan jadi 3 tahap : • Fetch - Siklus Fetch sama dg SAP-1 di mana akhir dari siklus adalah op code ada di IR • Penerjemahan (decode) - Siklus penerjemah dilakukan di controller/sequencer - hasil penerjemahan dikeluarkan oleh CON dan digunakan pada tahap eksekusi • Eksekusi - Melakukan eksekusi berdasarkan sinyal kontrol CON
  • 21. 21 MRI ° Contoh : • LDA (load the accumulator) • STA (store the accumulator) • MOV (move; untuk yang tipe immediate) ° MRI melibatkan pengaksesan memori 2x, yaitu saat fetch dan eksekusi, sehingga lama.
  • 22. 22 MRI - LDA ° Berfungsi untuk mengambil data memori alamat tertentu dan dipindahkan ke dalam akumulator ° Format instruksi : LDA alamat Contoh : LDA 1500 H Instruksi memindahkan data memori alamat 1500H ke akumulator
  • 23. 23 MRI - STA ° Berfungsi untuk mengambil data pada akumulator dan memindahkannya ke memori alamat tertentu ° Format instruksi : STA alamat Contoh : STA 1501 H Misal sebelum instruksi isi akumulator 4E H. Maka nilai 4E H ini akan disalin ke memori alamat 1501 H
  • 24. 24 MRI – MOV (untuk yg mov immediate) ° Berfungsi untuk transfer data yang memindahkan 8 bit data ke dalam register. Operand yang terlibat adalah register A, B, C. ° Format instruksi : MOV register, byte Contoh : MOV A, 45 H MOV B, 5E H MOV C, F3H Setelah 3 instruksi dijalankan, maka nilai register A = 45H, B=5EH, C = F3H
  • 25. 25 Instruksi antar Register ° Proses perpindahan data tidak menggunakan memori ° Terjadi antar register secara langsung ° Lebih cepat daripada MRI ° Contoh : • MOV (move; untuk move register) • ADD • SUB • INR (Increment) • DCR (Decrement)
  • 26. 26 Instruksi antar Register – MOV (move register) ° Berfungsi untuk transfer data yang memindahkan 8 bit data ke dalam register. Operand yang terlibat adalah register A, B, C. ° Format instruksi : MOV register, register Contoh : MOV A, B MOV B, C MOV C, A
  • 27. 27 Instruksi antar Register – ADD & SUB ° Berfungsi untuk menambah atau mengurangi nilai akumulator dengan nilai register tertentu dan hasilnya disimpan di akumulator. Register yang terlibat adalah register B dan C. ° Format instruksi : ADD register SUB register Contoh : ADD C SUB B
  • 28. 28 Instruksi antar Register – INR & DCR ° Berfungsi menambahkan nilai 1 (INR) atau mengurangkan nilai 1 (DCR) pada register. Register yang terlibat sebagai operand adalah A, B, C. ° Format instruksi : INR register DCR register Contoh : INR A  nilai A = A + 1 DCR B  nilai B = B - 1
  • 29. 29 Instruksi Jump ° Berfungsi untuk memungkinkan prosesor mengeksekusi instruksi tidak secara berurutan ° Nilai PC dapat diubah sesuai dengan kondisi dan instruksi lompat atau pemanggilan ° Contoh : • JMP (Jump) • JM (Jump if Minus) • JZ (Jump if Zero) • JNZ (Jump if Not Zero) ° Di antara keempat instruksi, JMP termasuk instruksi lompatan tidak bersyarat (uncoditional jump) dan JM, JZ, JNZ adalah lompatan bersyarat (conditional jump)
  • 30. 30 Instruksi Jump – JMP ° Adalah instruksi lompatan tidak bersyarat yang mengakibatkan prosesor mengalihkan eksekusi program sesuai dengan alamat tujuan lompatan ° Format instruksi : JMP alamat Contoh : JMP 2500 H Instruksi ini memberitahu prosesor untuk menjalankan instruksi di 2500 H. PC  2500H
  • 31. 31 Instruksi Jump – JM (Jump if Minus) ° Adalah instruksi lompatan bersyarat. Prosesor akan memeriksa flag sign keluaran dari ALU. Jika Sign 1 (negatif) maka lompatan dilakukan ° Format instruksi : JM alamat Contoh : Asumsi nilai reg A = 45H, B = 10H, C = 60H SUB B; A = A – B = 45H – 10 H = 35 H JM 1000 H; SUB C; A = A – C JM 2600 H; Hasil SUB +, tdk dilakukan jump ke 1000 H Hasil SUB -, dilakukan jump ke 2600 H
  • 32. 32 Instruksi Jump – JZ (Jump if Zero) ° Adalah instruksi lompatan bersyarat. Prosesor akan memeriksa zero keluaran dari ALU. Jika flag Zero 1 (nol) maka lompatan dilakukan ° Format instruksi : JZ alamat Contoh : JZ 2500 H Instruksi ini memberitahu prosesor untuk lompat ke instruksi di 2500 H jika zero flag 1
  • 33. 33 Instruksi Jump – JNZ (Jump if Not Zero) ° Adalah instruksi lompatan bersyarat. Prosesor akan memeriksa zero keluaran dari ALU. Jika flag Zero 0 (hasil ALU tidak 0) maka lompatan dilakukan ° Format instruksi : JNZ alamat Contoh : JZ 2500 H Instruksi ini memberitahu prosesor untuk lompat ke instruksi di 2500 H jika zero flag 0
  • 34. 34 Instruksi CALL & RET (return) ° Konsep sub rutin memudahkan pembagian tugas utama yang diselesaikan oleh program utama dan sub- program. ° Bagian yang sering dieksekusi tidak harus terus menerus ditulis dalam program utama. ° Bagian ini dapat ditulis secara terpisah pada alamat tertentu, disebut subrutin atau prosedur.
  • 35. 35 Instruksi CALL & RETURN ° CALL adalah instruksi untuk memanggil subrutin. RETURN untuk mengakhirinya. ° Format instruksi : CALL alamat Contoh : Misal kita punya subrutin faktorial di alamat 4000H sampai 4500 H . Untuk memanggil subrutin faktorial tersebut dilakukan pemanggilan berikut : CALL 4000 H
  • 36. 36 Contoh CALL & RETURN di SAP-2
  • 37. 37 Contoh CALL & RETURN di SAP-2 Ketika terjadi call yang terletak di alamat 1001H – 1003H, alamat terakhir (1004H) akan disimpan pada akhir memori. Alamat FFFE H dan FFFF H dialokasikan untuk alamat kembali.
  • 38. 38 Instruksi Logika ° Dikerjakan oleh ALU ° Proses logika adalah proses yang didasarkan pada peraturan aljabar logika ° Contoh : • CMA (complement the accumulator) • ANA (and the accumulator) • ORA (or the accumulator) • XRA (xor the accumulator) • XRI (xor immediate)
  • 39. 39 Instruksi Logika – CMA (complement the accumulator) ° Instruksi ini berfungsi melakukan komplemen isi akumulator, yaitu mengubah setiap bit dalam akumulator dengan nilai kebalikannya ° Format instruksi : CMA Contoh : Misal nilai akumulator saat ini adalah A = 00101100 Setelah instruksi CMA A = 11010011
  • 40. 40 Instruksi Logika – ANA (and the accumulator) ° Instruksi ini berfungsi melakukan operasi AND isi akumulatir dengan isi register. Register operand adalah register B, C ° Format instruksi : ANA register Contoh : Misal nilai akumulator saat ini adalah A = 00101100 B = 00011001 Setelah instruksi ANA B = 00001000
  • 41. 41 Instruksi Logika – ORA (or the accumulator) ° Instruksi ini berfungsi melakukan operasi OR isi akumulatir dengan isi register. Register operand adalah register B, C ° Format instruksi : ORA register Contoh : Misal nilai akumulator saat ini adalah A = 00101100 B = 00011001 Setelah instruksi ORA B = 00111101
  • 42. 42 Instruksi Logika – XRA (xor the accumulator) ° Instruksi ini berfungsi melakukan operasi XOR isi akumulatir dengan isi register. Register operand adalah register B, C ° Format instruksi : XRA register Contoh : Misal nilai akumulator saat ini adalah A = 00101100 B = 00011001 Setelah instruksi XRA B = 00110101
  • 43. 43 Instruksi Logika – ANI (and immediate the accumulator) ° Instruksi ini berfungsi melakukan operasi AND isi akumulatir dengan suatu nilai 8-bit. Register operand adalah register B, C ° Format instruksi : ANI byte Contoh : Misal nilai akumulator saat ini adalah A = 00101100 Setelah instruksi ANI 00110010 A = 00100000
  • 44. 44 Instruksi Logika – ORI (or immediate the accumulator) ° Instruksi ini berfungsi melakukan operasi OR isi akumulatir dengan suatu nilai 8-bit. Register operand adalah register B, C ° Format instruksi : ORI byte Contoh : Misal nilai akumulator saat ini adalah A = 00101100 Setelah instruksi ORI 00110010 A = 00111110
  • 45. 45 Instruksi Logika – XRI (xor immediate the accumulator) ° Instruksi ini berfungsi melakukan operasi XOR isi akumulatir dengan suatu nilai 8-bit. Register operand adalah register B, C ° Format instruksi : XRI byte Contoh : Misal nilai akumulator saat ini adalah A = 00101100 Setelah instruksi XRI 00110010 A = 00011110
  • 46. 46 Instruksi lain-lain (1) ° Contoh : • NOP (no operation) - Prosesor tidak melakukan apa-apa. - Digunakan sebagai jeda - Sering digunakan pada proses pipeline, yaitu upaya peningkatan kecepatan proses dengan melaksanakan beberapa instruksi secara bersamaan • IN (input) - Untuk memindahkan data dari register masukan ke akumulator - Format instruksi : IN byte (IN 100001101) • HLT (HALT) - Sebagai tanda akhir dari program • OUT (output) - Memindahkan data dari akumulator ke register keluaran
  • 47. 47 Instruksi lain-lain (2) ° Contoh : • RAL (Rotate the accumulator left) - Memutar nilai akumulator ke kiri satu bis - Misal A = 11001000 - Setelah instruksi RAL A = 10010001 • RAR (Rotate the accumulator right) - Memutar nilai akumulator ke kanan satu bit - Misal A = 11001000 - Setelah instruksi RAR maka nilai A = 01100100