DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2 1 11/20/2016 1
Setelah mengikuti perkuliahan ini mahasiswa dapat: Memahami Arsitektur SAP-2. Menjelaskan cara kerja SAP-2. Menjelaskan instruksi-instruksi yang ada pada SAP-2. Membuat program sederhana untuk SAP-2. Dapat menggunakan GNU05 untuk membuat program yang dibuat dan mensimulasikannya. 2 11/20/2016 2
Komputer SAP-2 (Simple As Possible Versi 2 ) Perancangan komputer SAP bertujuan untuk memperkenalkan semua ide penting dibalik operasi komputer tanpa harus tenggelam dalam kerumitan yang tidak perlu. Meski sederhana, SAP sudah mengandung banyak konsep yang lanjut. SAP-2 merupakan tahap pengembangan dari komputer SAP-1 yang memiliki jumlah instruksi yang lebih banyak dengan kapasitas memori yang lebih banyak dengan fitur yang lebih lengkap. 3 11/20/2016 3
16 11/20/2016 Arsitektur SAP-2 ACKNOWLEDGE Hexadecimal Keyboard encoder Bus W Input Port 1 Accumulator READY 0 SERIAL IN 7 Input Port 2 ALU 2 FLAGS PC 16 TMP MAR 16 B 64K Memory C MDR Output Port 3 Hexadecimal Display IR Output Port 4 0 7 SERIAL OUT ACKNOWLEDGE Controller/ Sequencer 4 11/20/2016 4
11/20/2016 Arsitektur SAP-2: Input Port SAP-2 memiliki 2 buah input port yaitu input port 1 dan 2. Dihubungkan dengan keyboard heksadesimal untuk menuliskan data & instruksi. Sinyal Ready dikirim ke jalur 0 Input Port 2 untuk menunjukkan data pada Input Port 1 telah benar. ACKNOWLEDGE READY 0 SERIAL IN 7 Hexadecimal Keyboard encoder Input Port 1 Input Port 2 Bus W Sinyal SERIAL IN untuk masuk ke jalur 7 pada Input Port 2. 5 11/20/2016 5
16 11/20/2016 Arsitektur SAP-2: PC dan MAR PC (Program Counter) Lebar 16-bit (0000 H FFFF H) Nilai PC 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 PC dengan bus W ada 2: 1 jalur untuk mengirim nilai 1 jalur untuk menerima jump ACKNOWLEDGE READY 0 SERIAL IN 7 Hexadecimal Keyboard encoder Input Port 1 Input Port 2 PC 16 MAR 16 Bus W MAR (Memory Address Register) Menerjemahkan alamat dari PC untuk diproses ke memori. 6 11/20/2016 6
16 11/20/2016 Arsitektur SAP-2: 64K Memory Lebar data -bit. Penggunaan alamat memori : 2KB awal (0000H - 07FFH) untuk program monitor. 000H FFFFH untuk instruksi dan data. Program monitor untuk masukan dari keyboard dan kondisi yang terjadi selama proses MAR 64K Memory 16 Bus W 7 11/20/2016 7
Arsitektur SAP-2: MDR (Memory 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. 64K Memory MDR Bus W 11/20/2016
11/20/2016 Arsitektur SAP-2: IR (Instruction Register) & Controller/Sequencer (CS) IR (Instruction Register) Instruksi lebarnya -bit (sama dengan prosesor 00/05 dari Intel) untuk diteruskan ke controller/sequencer. Jumlah instruksi yang bisa dimiliki 256 buah. SAP-2 hanya punya 43 instruksi. IR Controller/ Sequencer Bus W CS (CONTROLLER/SEQUENCER) Instruksi dari IR akan diterjemahkan mejadi sinyal kontrol (CON). 9 11/20/2016 9
Arsitektur SAP-2: Accumulator dan ALU Accumulator Untuk menyimpan sementara hasil operasi ALU. Data dari bus W bisa dari memori atau hasil operasi ALU Bus W Keluaran data dapat ditransfer ke output port. Accumulator ALU Untuk menyelesaikan operasi aritmetika & logika ALU 2 FLAGS Lebar -bit (jadi SAP-2 adlh prosesor -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 11/20/2016 10
Arsitektur SAP-2: Register TMP, B dan C Untuk menyimpan sementara nilai yang akan dioperasikan atau hasil operasi. Bus W 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 Accumulator A. ALU TMP B C 11 11/20/2016 11
Arsitektur SAP-2: Output Port 3 dan 4 Untuk mengkomunikasikan hasil proses dengan pengguna. Bus W Pengguna dapat melihat hasilnya lewat Hexadesimal Display. Output Port 3 Output Port 4 Hexadecimal Display SERIAL OUT ACKNOWLEDGE 12 11/20/2016 12
16 11/20/2016 Jalur 2 Arah ACKNOWLEDGE Hexadecimal Keyboard encoder Bus W n n Input Port 1 Accumulator (a) (b) READY 0 SERIAL IN 7 Input Port 2 ALU 2 FLAGS (a) JALUR SATU ARAH PC 16 TMP (b) JALUR DUA ARAH MAR 16 B (satu untuk IN satu 64K Memory C untuk OUT) MDR Output Port 3 Hexadecimal Display IR Output Port 4 0 7 SERIAL OUT ACKNOWLEDGE Controller/ Sequencer 13 11/20/2016 13
Instruction Set SAP-2 (1) Instruksi terdiri dari 2 bagian : Operational code (Opcode) Operand (nilai yang dioperasikan) Kebutuhan memori untuk operand tergantung jenis instruksi. Terdapat 43 Instruksi pada SAP-2 Contoh : ADD B op code 0, tidak butuh memori MVI A,1H op code 3E butuh 1 alamat memori STA 1234H op code 32 butuh 2 alamat memori 14 11/20/2016 14
Instruction Set SAP-2 (2) 15 11/20/2016 15
Jenis-Jenis Instruksi SAP-2 Instruksi Mengacu Memori (Memory Reference Instruction, MRI) Instruksi antar Register Instruksi Lompat dan Pemanggilan (Jump & Call Instruction) Instruksi Logika (Logic Instruction) Instruksi lain-lain 16 11/20/2016 16
MRI (Memory Reference Instruction) Yang termasuk ke MRI: LDA (load the accumulator) STA (store the accumulator) MVI (move immediate) MRI melibatkan pengaksesan memori 2x, yaitu saat fetch dan eksekusi, sehingga lama. 17 11/20/2016 17
MRI LDA : menyalin data memori pada alamat tertentu ke dalam akumulator. Format instruksi : LDA Alamat STA : menyalin data dari akumulator ke memori pada alamat tertentu. Format instruksi : STA Alamat MVI : menyalin data bit ke dalam register A, B atau C. Format instruksi : MVI Register, byte 1 11/20/2016 1
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) 19 11/20/2016 19
Instruksi Antar Register MOV : menyalin data bit dari satu register ke register lain. Operand yang terlibat adalah register A, B, C. Format instruksi : MOV Register Tujuan, Register Asal ADD dan SUB : menambah atau mengurangi nilai accumulator dengan nilai register tertentu dan hasilnya disimpan di accumulator. Register yang terlibat adalah register B dan C. Format instruksi : ADD Register SUB Register INR dan DCR : 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 20 11/20/2016 20
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) 21 11/20/2016 21
Instruksi Jump JMP : instruksi lompatan tidak bersyarat yang mengakibatkan prosesor mengalihkan eksekusi program sesuai dengan alamat tujuan lompatan. Format instruksi : JMP Alamat JM : instruksi lompatan bersyarat. Prosesor akan memeriksa flag sign keluaran dari ALU. Jika Sign 1 (negatif) maka lompatan dilakukan. Format instruksi : JM Alamat JZ: instruksi lompatan bersyarat. Prosesor akan memeriksa zero keluaran dari ALU. Jika flag Zero 1 (nol) maka lompatan dilakukan Format instruksi : JZ Alamat JNZ: 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 22 11/20/2016 22
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. CALL adalah instruksi untuk memanggil subrutin. RETURN untuk mengakhirinya. Format Instruksi: CALL Alamat 23 11/20/2016 23
Flag 24 11/20/2016 24
Instruksi Logika Dikerjakan oleh ALU Proses logika adalah proses yang didasarkan pada peraturan aljabar logika CMA (complement the accumulator) ANA (and the accumulator) ORA (or the accumulator) XRA (xor the accumulator) ANI (and Immediate) ORI (or immediate) XRI (xor immediate) CMP (Compare the Accumulator) 25 11/20/2016 25
Instruksi Logika (1) CMA : melakukan komplemen isi akumulator, yaitu mengubah setiap bit dalam akumulator dengan nilai kebalikannya. Format instruksi : CMA ANA : melakukan operasi AND isi akumulator dengan isi register lain bit per bit. Register operand yaitu register B, C. Format instruksi : ANA Register ORA : melakukan operasi OR isi akumulator dengan isi register lain bit per bit. Register operand yaitu register B, C. Format instruksi : ORA Register 26 11/20/2016 26
Instruksi Logika (2) XRA : melakukan operasi XOR isi akumulatir dengan isi register lain bit per bit. Register operand yaitu register B, C. Format instruksi : XRA Register ANI : melakukan operasi AND isi akumulator dengan suatu nilai bit. Format instruksi : ANI byte ORI : melakukan operasi OR isi akumulator dengan isi suatu nilai bit Format instruksi : ORI byte XRI : melakukan operasi XOR isi akumulator dengan isi suatu nilai bit Format instruksi : XRI byte 27 11/20/2016 27
Instruksi Lain-Lain nop (no operation): Prosesor tidak melakukan apa-apa. IN (input): Untuk memindahkan data dari register masukan ke akumulator. Format instruksi : IN byte HLT (HALT) : tanda akhir dari program OUT (output): Memindahkan data dari akumulator ke register keluaran. RAL (Rotate the accumulator left): Memutar nilai akumulator ke kiri satu bit. RAR (Rotate the accumulator right): Memutar nilai akumulator ke kanan satu bit 2 11/20/2016 2
Tugas 7: SAP-2 Soal dapat dilihat di danstama.staff.telkomuniversity.ac.id dan idea.telkomuniversity.ac.id Aturan pengerjaan tugas: Tugas dikerjakan secara kelompok dengan 1 kelompok terdiri 3 mahasiswa. 1 mahasiswa dalam kelompok tersebut mengerjakan 1 soal. Jawaban tugas ditulis pada kertas folio bergaris yang dilengkapi dengan nama, nim, kelas dan soal yang dikerjakan. Tugas dikumpulkan secara offline paling lambat: D3IF-40-01, Senin, 2 November 2016 pukul 10.20 WIB di KU3.07.09 D3IF-40-03, Selasa, 29 November 2016 pukul 0.20 WIB di G D3IF-40-04, Selasa, 29 November 2016 pukul 16.00 WIB di KU3.07.21 29 11/20/2016 29
Referensi Albert Paul Malvino. Digital Computer Electronics, 3 rd Edition: Halaman 173-193 30 11/20/2016 30
THANK YOU 31 11/20/2016 31