SlideShare a Scribd company logo
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 :
JNZ 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
akumulator 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
akumulator 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
akumulator 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
akumulator 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 atau ANI 32H
A = 00100000
44
Instruksi Logika – ORI (or immediate the accumulator)
° Instruksi ini berfungsi melakukan operasi OR isi
akumulator dengan suatu nilai 8-bit.
° 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
akumulator 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 bit
- 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

PDF
PPT
bahasa mesin dan bahasa assembly mikroprosessor
PPTX
2 mikrokontroler atmega 8535
DOCX
PPT
3 tak-ppi
DOCX
Bahasa assembly
PPTX
Pertemuan 9 pengalamatan
PDF
Pertemuan 3-instruksi-mesin-dan-program-bagian-23
bahasa mesin dan bahasa assembly mikroprosessor
2 mikrokontroler atmega 8535
3 tak-ppi
Bahasa assembly
Pertemuan 9 pengalamatan
Pertemuan 3-instruksi-mesin-dan-program-bagian-23

Similar to 10-Simple As Possible Computer 22222.ppt (20)

PDF
Tipe dan format instruksi 2
PDF
Resume komputer sap
PDF
Tradicanthya JG Tutkey UTS Mikrokontroler.pdf
DOCX
Tradicanthya JG Tutkey UTS Mikrokontroler.docx
PPT
simple-as-possible-computer-1.ppt
PPT
simple-as-possible-computer-1.pphbhjbhggyugt
PDF
Basic avr-microcontroller-tutorial v3
PDF
Basic avr-microcontroller-tutorial 8535
PPT
Materi 4.2 Pemrograman Bahasa Assembly 2.ppt
PPT
Pertemuan 3. Struktur CPU.ppt
PPT
3. central prosesing unit
DOC
MODUL PLC (Programmable Logic Control) DIDIK
DOC
Mikroprosesor dan mikrokontroler
PDF
2 ATMEGA 8535 .pdf
PPTX
Pert.5 set instruksi arm,motorolla dan intel
DOCX
Materi mode format pengalamatan
PPTX
Pertemuan 4 set instruksi arm, motorola, dan intel
PPTX
ADC (ANALOG TO DIGITAL CONVERTER).pptx
DOCX
Modul praktikum instruksi dasar
PPT
Mp 4 mode-pengalamatan
Tipe dan format instruksi 2
Resume komputer sap
Tradicanthya JG Tutkey UTS Mikrokontroler.pdf
Tradicanthya JG Tutkey UTS Mikrokontroler.docx
simple-as-possible-computer-1.ppt
simple-as-possible-computer-1.pphbhjbhggyugt
Basic avr-microcontroller-tutorial v3
Basic avr-microcontroller-tutorial 8535
Materi 4.2 Pemrograman Bahasa Assembly 2.ppt
Pertemuan 3. Struktur CPU.ppt
3. central prosesing unit
MODUL PLC (Programmable Logic Control) DIDIK
Mikroprosesor dan mikrokontroler
2 ATMEGA 8535 .pdf
Pert.5 set instruksi arm,motorolla dan intel
Materi mode format pengalamatan
Pertemuan 4 set instruksi arm, motorola, dan intel
ADC (ANALOG TO DIGITAL CONVERTER).pptx
Modul praktikum instruksi dasar
Mp 4 mode-pengalamatan
Ad

Recently uploaded (20)

PPTX
Mind_Map_Modul_5_Pedagogik_Koding_AI.pptx
PDF
Pengenalan Undang-undang pengakap laut.pdf
PPSX
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
PDF
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PDF
ANALISIS SOALAN BAHASA MELAYU SPM 2021-2024 (1).pdf
PDF
Lembar Kerja Mahasiswa Konsep Sistem Operasi
PPTX
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PPTX
ppt kelas XII materi sifat koligatif larutan
PDF
BAHASA INDONESIA KELAS 6 SD TEKS INFORMATIF
PDF
lembar kerja LMS tugas pembelajaran mendalam
PDF
Gangguan Penglihatan Mata - presentasi biologi
PDF
ANALISIS CP NO 046 TAHUN 2025 FASE C.pdf
DOCX
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
PPTX
Bahan Presentasi Persamaan Elips .pptx
PDF
3. Buku Sekolah Sehat, sekolah sehat bagi madrasah
DOCX
LKPD_Bab_1_Informatika_Kelas_9. : Informatika dan Keterampilan Generikdocx
Mind_Map_Modul_5_Pedagogik_Koding_AI.pptx
Pengenalan Undang-undang pengakap laut.pdf
Teknik Trading Selang Seling Yang Dapat Digunakan Untuk Trading Manual Maupun...
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
ANALISIS SOALAN BAHASA MELAYU SPM 2021-2024 (1).pdf
Lembar Kerja Mahasiswa Konsep Sistem Operasi
Modul 4 Asesmen-dalam-Pembelajaran-Mendalam.pptx
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
ppt kelas XII materi sifat koligatif larutan
BAHASA INDONESIA KELAS 6 SD TEKS INFORMATIF
lembar kerja LMS tugas pembelajaran mendalam
Gangguan Penglihatan Mata - presentasi biologi
ANALISIS CP NO 046 TAHUN 2025 FASE C.pdf
Modul Ajar Deep Learning Biologi Kelas 10 SMA Terbaru 2025
Bahan Presentasi Persamaan Elips .pptx
3. Buku Sekolah Sehat, sekolah sehat bagi madrasah
LKPD_Bab_1_Informatika_Kelas_9. : Informatika dan Keterampilan Generikdocx
Ad

10-Simple As Possible Computer 22222.ppt

  • 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 : JNZ 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 akumulator 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 akumulator 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 akumulator 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 akumulator 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 atau ANI 32H A = 00100000
  • 44. 44 Instruksi Logika – ORI (or immediate the accumulator) ° Instruksi ini berfungsi melakukan operasi OR isi akumulator dengan suatu nilai 8-bit. ° 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 akumulator 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 bit - 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