11/20/2016
DCH1B3 Konfigurasi Perangkat Keras Komputer
SAP-2
1
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
1
11/20/2016
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 GNU8085 untuk membuat program yang dibuat dan mensimulasikannya.
2
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
2
11/20/2016
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
DCH1B3 – Konfigurasi Perangkat Keras Komputer
3
11/20/2016
Arsitektur SAP-2 Bus W
ACKNOWLEDGE
8
Hexadecimal Keyboard encoder 8
Input Port 2
8
PC
16
MAR
16
8
Accumulator
8
ALU
8
TMP
8
B
8
C
8
Input Port 1 READY
0
SERIAL IN 7
FLAGS
8
Hexadecimal Display
16
8
2
64K Memory 8 8
IR
8
8
Output Port 3
8
Output Port 4
0
SERIAL OUT
7
ACKNOWLEDGE
8
MDR
Controller/ Sequencer 4
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
4
11/20/2016
Arsitektur SAP-2: Input Port SAP-2 memiliki 2 buah input
port yaitu input port 1 dan 2.
Bus W ACKNOWLEDGE
Hexadecimal Keyboard encoder
Dihubungkan dengan
Sinyal Ready dikirim ke jalur
0 Input Port 2 untuk menunjukkan data pada Input Port 1 telah benar.
8
keyboard heksadesimal untuk menuliskan data & instruksi. READY
0
SERIAL IN
7
Input Port 1
8
Input Port 2
8
Sinyal SERIAL IN untuk
masuk ke jalur 7 pada Input Port 2.
5
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
5
11/20/2016
Arsitektur SAP-2: PC dan MAR Bus W ACKNOWLEDGE
8
Hexadecimal Keyboard encoder
READY
0
SERIAL IN 7
Input Port 1
8
Input Port 2
8
PC
16
MAR
16
16
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 MAR (Memory Address Register) Menerjemahkan alamat dari PC untuk diproses ke memori. 6
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
6
11/20/2016
Arsitektur SAP-2: 64K Memory
7
11/20/2016
Bus W
MAR
16
64K Memory 8
Lebar data 8-bit. Penggunaan alamat memori : 2KB awal (0000H - 07FFH) untuk program monitor. 0800H – FFFFH untuk instruksi dan data. Program monitor untuk masukan dari keyboard dan kondisi yang terjadi selama proses
16
DCH1B3 – Konfigurasi Perangkat Keras Komputer
7
11/20/2016
Arsitektur SAP-2: MDR (Memory Data Register)
8
11/20/2016
Bus W
64K Memory 8
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.
MDR
8
DCH1B3 – Konfigurasi Perangkat Keras Komputer
8
11/20/2016
Arsitektur SAP-2: IR (Instruction Register) & Controller/Sequencer (CS)
9
IR (Instruction Register) Instruksi lebarnya 8-bit (sama dengan prosesor 8080/8085 dari Intel) untuk diteruskan ke controller/sequencer. Jumlah instruksi yang bisa dimiliki 256 buah. SAP-2 hanya punya 43 instruksi.
Bus W
IR
8
8
Controller/ Sequencer
CS (CONTROLLER/SEQUENCER) Instruksi dari IR akan diterjemahkan mejadi sinyal kontrol (CON).
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
9
11/20/2016
Arsitektur SAP-2: Accumulator dan ALU
Accumulator
Untuk menyimpan sementara hasil operasi ALU.
Data dari bus W bisa dari memori atau hasil operasi ALU
Keluaran data dapat ditransfer ke output port.
Bus W
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
11/20/2016
Accumulator
8
ALU
2
FLAGS
8
8
DCH1B3 – Konfigurasi Perangkat Keras Komputer
10
11/20/2016
Arsitektur SAP-2: Register TMP, B dan C
11
Khusus register TMP menyimpan data yang akan dioperasikan oleh ALU. Lebih banyak register untuk menyimpan data sementara akan lebih baik.
Bus W
8
ALU
8
TMP
8
B
8
C
8
Untuk menyimpan sementara nilai yang akan dioperasikan atau hasil operasi.
Data sementara tidak hanya disimpan di Accumulator A.
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
11
11/20/2016
Arsitektur SAP-2: Output Port 3 dan 4
12
Untuk mengkomunikasikan hasil proses dengan pengguna. Pengguna dapat melihat hasilnya lewat Hexadesimal Display.
11/20/2016
Bus W
8
Output Port 3
8
Output Port 4
8
Hexadecimal Display SERIAL OUT ACKNOWLEDGE
DCH1B3 – Konfigurasi Perangkat Keras Komputer
12
11/20/2016
Jalur 2 Arah Bus W
Hexadecimal Keyboard encoder 8
ACKNOWLEDGE
8
Input Port 2
8
PC
16
MAR
16
Accumulator 8
Input Port 1 0 READY SERIAL IN 7
ALU
8
TMP
8
B
8
C
2
FLAGS
n
(a)
(b)
(a) JALUR SATU ARAH
8
8
n
(b) JALUR DUA ARAH
16
(satu untuk IN satu
64K Memory
untuk OUT)
8 8
IR
8
8
Output Port 3
8
Output Port 4
8
Hexadecimal Display
0
SERIAL OUT
7
ACKNOWLEDGE
8
MDR
Controller/ Sequencer
13
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
13
11/20/2016
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 80, tidak butuh memori MVI A,18H op code 3E butuh 1 alamat memori STA 1234H op code 32 butuh 2 alamat memori 14
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
14
11/20/2016
Instruction Set SAP-2 (2)
15
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
15
11/20/2016
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
DCH1B3 – Konfigurasi Perangkat Keras Komputer
16
11/20/2016
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
DCH1B3 – Konfigurasi Perangkat Keras Komputer
17
11/20/2016
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 8 bit ke dalam register A, B atau C.
18
Format instruksi : MVI Register, byte
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
18
11/20/2016
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
DCH1B3 – Konfigurasi Perangkat Keras Komputer
19
11/20/2016
Instruksi Antar Register MOV : menyalin data 8 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
DCH1B3 – Konfigurasi Perangkat Keras Komputer
20
11/20/2016
Instruksi Jump
Berfungsi untuk memungkinkan prosesor mengeksekusi instruksi tidak secara berurutan.
Nilai PC dapat diubah sesuai dengan kondisi dan instruksi lompat atau pemanggilan.
Contoh :
21
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) 11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
21
11/20/2016
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
DCH1B3 – Konfigurasi Perangkat Keras Komputer
22
11/20/2016
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
DCH1B3 – Konfigurasi Perangkat Keras Komputer
23
11/20/2016
Flag
24
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
24
11/20/2016
Instruksi Logika Dikerjakan oleh ALU Proses logika adalah proses yang didasarkan pada peraturan aljabar logika
25
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)
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
25
11/20/2016
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.
26
Format instruksi : ORA Register
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
26
11/20/2016
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 8 bit.
Format instruksi : ANI byte
ORI : melakukan operasi OR isi akumulator dengan isi suatu nilai 8 bit
Format instruksi : ORI byte
XRI : melakukan operasi XOR isi akumulatOr dengan isi suatu nilai 8 bit
27
Format instruksi : XRI byte
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
27
11/20/2016
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 akumulator ke kanan satu bit
28
11/20/2016
right):
Memutar
nilai
DCH1B3 – Konfigurasi Perangkat Keras Komputer
28
11/20/2016
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:
29
D3IF-40-01, Senin, 28 November 2016 pukul 10.20 WIB di KU3.07.09
D3IF-40-03, Selasa, 29 November 2016 pukul 08.20 WIB di G8
D3IF-40-04, Selasa, 29 November 2016 pukul 16.00 WIB di KU3.07.21
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
29
11/20/2016
Referensi Albert Paul Malvino. “Digital Computer Electronics, 3rd Edition: Halaman 173 - 193”
30
11/20/2016
DCH1B3 – Konfigurasi Perangkat Keras Komputer
30
11/20/2016
THANK YOU 11/20/2016 31
DCH1B3 – Konfigurasi Perangkat Keras Komputer
31