1 / 32

:: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

[. ]. :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI. SAP - 2< Evolusi ke Komputer Modern > Arsitektur lebih lengkap dibanding SAP-1 Instruksi lebih banyak termasuk jump (Lompat) Menggunakan Register dua Arah. LOAD. CLK. Enable. BUS. Bus W. Ack. 8. Encoder Hexa. A. 8. 8. Flag.

Télécharger la présentation

:: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. [ ] :: SAP - 2 :: TEORI, IMPLEMENTASI & APLIKASI

  2. SAP - 2< Evolusi ke Komputer Modern > Arsitektur lebih lengkap dibanding SAP-1 Instruksi lebih banyak termasuk jump (Lompat) Menggunakan Register dua Arah LOAD CLK Enable BUS

  3. Bus W Ack 8 Encoder Hexa A 8 8 Flag In Port 1 ALU 8 8 2 8 0 Ready 8 8 In Port 2 TEMP 7 Serial In 16 8 PC B 8 MAR 16 C 16 Memori 8 8 Hexa Disp MDR Out Port 3 8 8 0 8 IR Serial Out Out Port 4 8 7 Ack 8 CON ARSITEKTUR SAP-2 • PC < Program Counter > • Memiliki saluran 16-bit • PC=0000 0000 0000 0000 • Sampai : • PC=1111 1111 1111 1111 Atau • PC=0000 H – FFFF H Instruksi selalu mulai : 0000 H 0000 H Instruksi pertama 0001 H Instruksi kedua 0002 H Instruksi ketiga dst

  4. Bus W Ack 8 Encoder Hexa A 8 8 Flag In Port 1 ALU 8 8 2 8 0 Ready 8 8 In Port 2 TEMP 7 Serial In 16 8 PC B 8 MAR 16 C 16 Memori 8 8 Hexa Disp MDR Out Port 3 8 8 0 8 IR Serial Out Out Port 4 8 7 Ack 8 CON ARSITEKTUR SAP-2 • MAR & Memori • Menerima alamat 16-bit • Keluaran 2-state ke memori • ROM 2KB berisi program Monitor  Inisialisasi saat dinyalakan 0000 H ROM 07FF H 0800 H RAM FFFF H

  5. Bus W Ack 8 Encoder Hexa A 8 8 Flag In Port 1 ALU 8 8 2 8 0 Ready 8 8 In Port 2 TEMP 7 Serial In 16 8 PC B 8 MAR 16 C 16 Memori 8 8 Hexa Disp MDR Out Port 3 8 8 0 8 IR Serial Out Out Port 4 8 7 Ack 8 CON ARSITEKTUR SAP-2 • MDR<Memory Data Register> • Keluaran MDR aktifkan RAM. • Menerima data dari bus, sblm operasi menulis ke RAM • Mengirim data ke bus, stlh operasi membaca dari RAM

  6. Bus W Ack 8 Encoder Hexa A 8 8 Flag In Port 1 ALU 8 8 2 8 0 Ready 8 8 In Port 2 TEMP 7 Serial In 16 8 PC B 8 MAR 16 C 16 Memori 8 8 Hexa Disp MDR Out Port 3 8 8 0 8 IR Serial Out Out Port 4 8 7 Ack 8 CON ARSITEKTUR SAP-2 • Register Instruksi < IR > • IR 8-bit • mampu menampung 2^8 = 256 Instruksi. • SAP-2 hanya 42 Instruksi • Kompatibel dengan 8080 / 8085

  7. Bus W Ack 8 Encoder Hexa A 8 8 Flag In Port 1 ALU 8 8 2 8 0 Ready 8 8 In Port 2 TEMP 7 Serial In 16 8 PC B 8 MAR 16 C 16 Memori 8 8 Hexa Disp MDR Out Port 3 8 8 0 8 IR Serial Out Out Port 4 8 7 Ack 8 CON ARSITEKTUR SAP-2 • Pengendali-Pengurut • Menghasilkan kata kendali atau mikroinstruksi • SAP-2 lebih banyak Instruksi, pengendalilebih rumit. • Kata CON lebih panjang • Akumulator • Register 2 Arah • Keluaran 3-state ke bus W • Terus menerus menggerakkan ALU

  8. Bus W Ack 8 Encoder Hexa A 8 8 Flag In Port 1 ALU 8 8 2 8 0 Ready 8 8 In Port 2 TEMP 7 Serial In 16 8 PC B 8 MAR 16 C 16 Memori 8 8 Hexa Disp MDR Out Port 3 8 8 0 8 IR Serial Out Out Port 4 8 7 Ack 8 CON ARSITEKTUR SAP-2 • ALU & FLAG • SAP-2 mengandung operasi Aritmatik & Logika • FLAG • Untuk mengawasi / mengikuti perubahan keadaan selama beroperasi. • Sign Flag : aktif bila A berubah menjadi negatif • Zero Flag : aktif bila A menjadi nol.

  9. Bus W Ack 8 Encoder Hexa A 8 8 Flag In Port 1 ALU 8 8 2 8 0 Ready 8 8 In Port 2 TEMP 7 Serial In 16 8 PC B 8 MAR 16 C 16 Memori 8 8 Hexa Disp MDR Out Port 3 8 8 0 8 IR Serial Out Out Port 4 8 7 Ack 8 CON ARSITEKTUR SAP-2 • Register TMP, B dan C • TMP : pengganti register B • Register B dan C berfungsi sama untuk menyimpan data sementara selama operasi dilakukan. • Input Port • SAP-2 mempunyai 2 Input Port. • Encoder keyboard Hexa ke Input Port 1 • Serial data ke Input Port 2 line 7

  10. Bus W Ack 8 Encoder Hexa A 8 8 Flag In Port 1 ALU 8 8 2 8 0 Ready 8 8 In Port 2 TEMP 7 Serial In 16 8 PC B 8 MAR 16 C 16 Memori 8 8 Hexa Disp MDR Out Port 3 8 8 0 8 IR Serial Out Out Port 4 8 7 Ack 8 CON ARSITEKTUR SAP-2 • Output Port • Mempunyai 2 Output Port • Output Port 3 ke Peraga Hexa • Output Port 4 ke Serial Out line 0

  11. Perangkat Instruksi < Instruction Set > • Operasi dasar yang dapat dilakukan dengan perintah / program. • LDA < Load Data Accumulator > • Isi Akumulator dengan isi dari lokasi memori • Contoh : LDA 2000H ; /* Isikan Akumulator dengan isi alamat 2000H */ • STA < Store Accumulator > • Simpan Isi Akumulator ke lokasi memori yang ditunjuk • Contoh : STA 7FFFH ; /* Simpan Isi Akumulator ke alamat 7FFFH */ Operan Operasi

  12. Perangkat Instruksi < Instruction Set > • MVI < Move immediate > • Pindahkan Segera • Mengisi Register dengan bilangan yang mengikutinya • Contoh : • MVI A, 37H ; /* Isikan Akumulator dengan bilangan 37H */ • Jika eksekusi perintah ini, maka : A =0011 0111 • Format Instruksi : MVI A, byte MVI B, byte MVI C, byte

  13. INSTRUKSI OP CODE INSTRUKSI OP CODE ADD B ADD C ANA B ANA C ANI byte CALL alamat CMA DCR A DCR B DCR C HLT IN byte INR A INR B INR C JM alamat JMP alamat JNZ alamat JZ alamat LDA alamat MOV A,B MOV A,C 80 81 A0 A1 E6 CD 2F 3D 05 0D 76 DB 3C 04 0C FA C3 C2 CA 3A 78 79 MOV B,A MOV B,C MOV C,A MOV C,B MVI A, byte MVI B, byte MVI C, byte NOP ORA B ORA C ORI byte OUT byte RAL RAR RET STA alamat SUB B SUB C XRA B XRA C XRI byte 47 41 4F 48 3E 06 0E 00 B0 B1 F6 D3 17 1F C9 32 90 91 A8 A9 EE

  14. Perangkat Instruksi < Instruction Set > • Contoh : Bahasa Mesin 8080/8085 Alamat Isi Mnemonik Jumlah 2000H 3EH MVI A, 49H 2-byte 2001H 49H 2002H 06H MVI B, 4AH 2-byte 2003H 4AH 2004H 0EH MVI C, 4BH 2-byte 2005H 4BH 2005H 32H STA 6285H 3-byte 2006H 85H 2007H 62H 2009H 76H HLT 1-byte

  15. Instruksi-Instruksi Register • MRI=Memory Reference Instruction Lebih lambat karena memerlukan lebih dari 1 operasi akses memori. • Sedangkan Instruksi Register memindahkan data dari Register ke Register yang lain • MOV • Memindahkan data dari satu register ke register yang lain. • Contoh : MOV A, B. /* Pindahkan data dalam Register B ke Akumulator */

  16. Instruksi-Instruksi Register • ADD • Tambahkan isi Register dengan Isi Akumulator • Contoh : ADD B • Jika : A = 04 H dan B = 02 H, maka eksekusi ADD B menghasilkan : A = 06 H • SUB • Kurangkan isi Register dengan Isi Akumulator • Jika : C = 03 H, maka eksekusi SUB C diperoleh A = 03 H

  17. Instruksi-Instruksi Register • INR • Penambahan isi Register dengan satu angka • Contoh : INR B • Jika : B = 09 H, maka eksekusi INR B menghasilkan : B = 0A H • DCR • Pengurangan isi Register dengan satu angka • Jika : C = 03 H, maka eksekusi DCR C diperoleh C = 02 H

  18. CONTOH : • Tambahkan bilangan 25 dan 55, simpan hasilnya pada lokasi memori 5000 H dan tambahkan hasilnya dengan 1, serta simpan di register B. MVI A, 19 H ; Isikan Accumulator dengan 25 MVI B, 37 H ; Isikan Register B dengan 55 ADD B ; Tambahkan Register B dengan Acc STA 5000H ; Simpan Acc pada alamat 5000H INR A ; Tambahkan Isi Acc dengan 1 MOV B,A ; Simpan Isi Acc pada Register B HLT ; Berhenti

  19. INSTRUKSI JUMP DAN CALL : • JMP • Mengambil Instruksi berikutnya pada Alamat yang ditunjuk • Selalu diikuti Alamat yang diisikan ke Pencacah Program • Tanpa syarat • JM • Jump if Minus < Lompat ke Alamat yang ditunjuk Jika A bernilai Minus > • SAP-2 mempunyai Zero Flag (Z) dan Sign Flag (S) • S = 0 jika A >= 0 dan S = 1 jika A < 0 • Lompat dengan Syarat jika S = 1

  20. INSTRUKSI JUMP DAN CALL : • JZ • Jump if Zero < lompat ke Alamat yang ditunjuk Jika A bernilai Nol > • Z = 1 jika A = 0 dan Z = 0 jika A~= 0 • Lompat dengan Syarat Z = 1 • JNZ • Jump if Not Zero < Lompat ke Alamat yang ditunjuk Jika A tidak sama dengan Nol > • Lompat dengan Syarat jika Z = 0

  21. ILUSTRASI : 2000 H ----------- ----------- 2005 H JMP 3000 H 2006 H ----------- ----------- ----------- 3000 H ----------- ----------- ILUSTRASI : 2000 H ----------- ----------- 2005 H JM 3000 H 2006 H ----------- ----------- ----------- 3000 H ----------- ----------- Tanpa Syarat Jika S = 1

  22. ILUSTRASI : 2000 H ----------- ----------- 2005 H JZ 3000 H 2006 H ----------- ----------- ----------- 3000 H ----------- ----------- ILUSTRASI : 2000 H ----------- ----------- 2005 H JNZ 3000 H 2006 H ----------- ----------- ----------- 3000 H ----------- ----------- Jika Z = 1 Jika Z = 0

  23. ILUSTRASI : 2000 H ----------- ----------- 2005 H CALL 5000 H 2006 H ----------- ----------- ----------- 5000 H ----------- ----------- ----------- RET ILUSTRASI : Alamat Isi Simbol 2000 H 0E H MVI C,03 H 2001 H 03 H 2002 H 0D H DCR C 2003 H CA H JZ 2009 H 2004 H 09 H 2005 H 20 H 2006 H C3 H JMP 2002H 2007 H 02 H 2008 H 20 H 2009 H 76 H HLT

  24. LOOP DAN LABEL : • LOOP < Simpal > • Bagian dari Program yang diulang-ulang • Lihat Ilustrasi • LABEL • Tanda bantu yang digunakan untuk instruksi lompat dan panggil • Diakhiri dengan : < titik dua > • Terdiri dari 1 – 6 karakter, yang pertama selalau huruf.

  25. ILUSTRASI : Label Mnemonik Komentar MVI A,00 H ; Kosongkan Akumulator MVI B,0C H ; Isikan desimal 12 ke B MVI C,08 H ; Preset C dengan 8 REPEAT : ADD B ; Tambahkan dengan 12 DCR C ; Kurangi isi C dengan 1 JZ DONE ; Lompat ke DONE JMP REPEAT; Ulangi / Lompat DONE : HLT ; Berhenti

  26. INSTRUKSI LOGIKA : • CMA • Complement the Accumulator < Komplemenkan isi Akumulator > • Melakukan komplemen-1 pada Isi Akumulator • ANA • AND-kan Isi Akumulator dengan isi Register tertentu • Contoh : ANA B ; AND-kan Isi Akumulator dengan isi Register B • Jika : A = 1110 1010 • B = 1000 0101 • Maka Eksekusi dari ANA B menghasilkan : A = 1000 0000

  27. INSTRUKSI LOGIKA : • ORA • OR –kan Isi Akumulator dengan Isi Register tertentu • Jika : A = 1110 1010 • B = 1000 0101 ; maka Eksekusi ORA B menghasilkan : A = 1110 1111 • XRA • XOR-kan Isi Akumulator dengan isi Register tertentu • Contoh : XRA B ; AND-kan Isi Akumulator dengan isi Register B • Jika : A = 1110 1010 • B = 1000 0101 ; Maka Eksekusi XRA B menghasilkan : A = 0110 1111

  28. INSTRUKSI LOGIKA : • ANI • AND –kan segera Isi Akumulator dengan Byte tertentu • Jika : A = 1110 1010, Maka Eksekusi ANI C7 H menghasilkan : = 1100 0111 < C7 H > A = 1100 0010 • ORI • OR-kan Segera Isi Akumulator dengan Byte tertentu • Eksekusi ORI C7 H menghasilkan : • A = 1100 0111 • XRI • XOR-kan Segera Isi Akumulator dengan Byte Tertentu

  29. INSTRUKSI LAINNYA : • NOP • No Operation ( tidak ada oprasi ) • Untuk pengaturan waktu atau Waktu tunda • Jika 1 NOP = 4 T, maka 100 NOP menunggu 400 T • IN • Instruksi untuk memberi masukan • Memindahkan data dari Input Port ke Akumulator • Contoh : IN 02 H ; Memindahkan data dari Port 2 ke Akumulator • OUT • Memindahkan Isi Akumulator ke Output Port • Contoh : OUT 03 H ; Pindahkan Isi Akumulator ke Output Port 3

  30. MSB MSB LSB LSB INSTRUKSI LAINNYA : • RAL • Rotate the Accumulator Left < Putar akumulator ke kiri > • RAR • Rotate the Accumulator Right < Putar akumulator ke kanan > Jika A = 0100 1001, maka Eksekusi : RAL  A = 1001 0010 RAR  A = 1010 0100

  31. ILUSTRASI : Label Mnemonik Waktu MVI A,00 H ; 1 x 7 x T MVI B,0C H ; 1 x 7 x T MVI C,08 H ; 1 x 7 x T REPEAT : ADD B ; 4 x 8 x T DCR C ; 4 x 8 x T JZ DONE ; 7 x 7 x T (tanpa Lompatan) ; 10 x 1 x T (dengan Lompatan) JMP REPEAT; 10 x 7 x T (dengan Lompatan) DONE : HLT ; 5 x 1 x T

  32. ::. Terima Kasih .::

More Related