Tahun Akademik 2015/2016 Semester I
DIG1B3 – Konfigurasi Perangkat
Keras Komputer
SAP-1
Mohamad Dani (MHM) E-mail: mohamad.dani@gmail.com
Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Telkom Applied Science School
Setelah mengikuti perkuliahan ini
mahasiswa dapat:
Memahami Arsitektur SAP-1.
Menjelaskan cara kerja SAP-1.
Menjelaskan instruksi-instruksi yang ada pada SAP-1.
Membuat program sederhana untuk SAP-1.
Menjelaskan proses-proses yang terjadi pada SAP-1
bila sebuah program dijalankan.
Dapat menggunakan Logisim dan ISIS Proteus untuk
mensimulasikan cara kerja SAP-1.
Komputer SAP (Simple As Possible)
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-1 merupakan tahap pertama dari evolusi ke arah
prngembangan komputer modern.
ARSITEKTUR SAP-1 (1)
PC <Program Counter>
Bagian unit kendali yang
mencacah dari 0000 – 1111
Mengirimkan ke memori
alamat, instruksi berikutnya yang akan diambil dan dilaksanakan.
Direset ke 0000 sebelum program dijalankan. 0000 Instruksi pertama 0001 Instruksi kedua 0010 Instruksi ketiga dst PC MAR RAM IR CON A ADD B O D 4 8 4 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PEL C LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W
ARSITEKTUR SAP-1 (2)
MAR <Memory Address
Register>
Register yang menyimpan
sementara alamat memori untuk dikirimkan ke RAM
RAM <Random Access
Memory>
TTL statik 16 x 8 untuk
menyimpan program dan data.
Menerima alamat 4 bit
dari MAR dan operasi membaca dilakukan. PC MAR RAM IR CON A ADD B O D 4 8 4 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W
ARSITEKTUR SAP-1 (3)
IR <Instruction Register> Bagian unit kendali untuk
mengambil sebuah instruksi dari memori.
Isi lokasi memori yang
ditunjuk ditempatkan pada bus W dan pada tepi positif, IR mulai pengisian
Isi IR dibagi 2 Nibble : Nibble Atas : ke
pengendali / Pengurut
Nibble Bawah : dikirim ke
bus W PC MAR RAM IR CON A ADD B O D 4 8 4 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PEL C LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W
ARSITEKTUR SAP-1 (4)
CON
Sebelum komputer bekerja,
CLR dikirim ke PC<direset ke 0000> dan CLR ke IR (Instruksi terakhir dihapus)
CLK dikirim ke semua
register buffer untuk sinkronisasi operasi komp.
CLK ke PC untuk menjamin
PC telah menyiapkan alamat berikutnya.
Mengeluarkan 12 bit sinyal
kendali <control bus>
PC MAR RAM IR CON A ADD B O D 4 8 4 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PEL C LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W
ARSITEKTUR SAP-1 (5)
Register A (Accumulator) Buffer yang menyimpan
jawaban sementara selama beroperasi.
Keluaran 2-state ke ADDER Keluaran 3-state ke Bus W Bila tinggi, maka terus
menerus menggerakkan ADDER PC MAR RAM IR CON A ADD B O D 4 8 4 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PELC LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W
ARSITEKTUR SAP-1 (6)
ADD
SAP-1 mempunyai sebuah
ADD yang berfungsi sebagai Penjumlah dan Pengurang komplemen 2.
Su rendah, keluaran: S=A+B Su tinggi, keluaran : S=A-B Rangkaian ADD bersifat
Asinkron <tidak diatur oleh clock>
Bila tinggi, maka keluaran
ADD muncul pada bus W.
PC MAR RAM IR CON A ADD B O D 4 8 4 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PEL C LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W
ARSITEKTUR SAP-1 (7)
Register B (Buffer) Buffer untuk operasi Aritmatik. Bila rendah, maka kata pada bus
W diisikan ke register B pada tepi positif clock.
Keluaran 2-state menjalankan
penjumlah-pengurang.
Register O (Output)
Memindahkan jawaban pada Acc
ke keluaran
Bila tinggi dan rendah, maka
akan memasukkan isi A pada register keluaran pada tepi positif clock PC MAR RAM IR CON A ADD B O D 4 8 4 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PEL C LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W
ARSITEKTUR SAP-1 (8)
D (Display)
Barisan 8 LED untuk
menampilkan isi dari port keluaran.
Bus W
Berisi Jalur Alamat 4 Bit dan
Data 8 Bit yang digunakan bersama-sama Bagian-bagian yang ada di SAP-1.
PC MAR RAM IR CON A ADD B O D 4 8 4 4 4 8 4 4 8 8 8 8 8 8 8 8 Cp CLK CLR Ep CLK CLR CLR CLK 12 O B U U A A I I E M P PEL C LELE SELL C M L CLK E C I L I E CLK CLR CLK CLK CLK A L A E U S U E B L O L Bus W
Perangkat Instruksi
<Instruction Set> (1)
Program merupakan kumpulan-kumpulan instruksi yang
dieksekusi secara berurutan dengan tujuan tertentu.
Operasi dasar yang dapat dilakukan dengan perintah/
program.
Instruksi/perintah yang ada pada komputer dibuat dalam
sebuah perangkat instruksi (Instruction Set).
Setiap instruksi memiliki format instruksi yang telah
ditentukan.
Untuk memudahkan dalam pemograman, perangkat
instruksi dibuat dalam sebuah tabel yang dilengkapi dengan keterangan instruks tersebut.
<Instruction Set> (2)
Instruksi-instruksi yang ada di SAP-1
LDA <Load Data Accumulator>
ADD
SUB OUT
HLT
LDA <Load Data Accumulator>
Isi Akumulator dengan isi dari lokasi memori
Kata di dalam memori dapat diberikan simbol R0, R1,
R2 dst.
Artinya : R0 untuk alamat 0H
R1 untuk alamat 1H dst
Contoh:
LDA 8H ; /* Isikan Akumulator dengan isi alamat 8H A[8H]*/
Misal: R8 =1111 0000, maka eksekusi perintah ini menghasilkan A =1111 0000
ADD
Isi Register B dengan isi lokasi memori yang ditunjuk.
Tambahkan isi Register A dengan isi Register B dan simpan hasilnya ke A.
Contoh:
ADD 9H ; /* Tambahkan Akumulator dengan isi alamat 9H */
Misal: A = 0000 0001, R9= 0000 1001
maka dengan mengeksekusi perintah ini, membuat isi memori 9H <R9>
diisikan ke Register B
B = 0000 1001 (B[9H])
Setelah itu, Unit ADD menjumlahkan isi Register A dan B dan hasilnya disimpan di Register A.
A = 0000 1010, A A + B
SUB
Isi Register B dengan isi lokasi memori yang ditunjuk.
Kurangkan isi Register A dengan isi Register B dan simpan hasilnya ke
Register A.
Contoh:
SUB AH ; /* Tambahkan Akumulator dengan isi alamat AH */
Misal: A = 0000 1000, RA= 0000 0010
maka dengan mengeksekusi perintah ini, membuat isi memori AH <RA>
diisikan ke Register B
B = 0000 0010 (B[AH])
Setelah itu, Unit ADD mengurangkan isi Register A dengan isi Reister B dan hasilnya disimpan di Register A.
OUT
Memberitahu komputer SAP-1 untuk memindahkan
isi Akumulator port keluaran.
Instruksi OUT tidak memerlukan alamat tertentu.
Instruksi OUT tidak berhubungan dengan data dalam
memori.
HLT
Memberitahu Komputer untuk menghentikan proses.
Akhir dari Program.
Instruksi Rujukan Memori
Instruksi yang memerlukan lokasi memori tertentu
LDA, ADD dan SUB
MNEMONIC
Instruksi singkat (Bahasa Inggris) untuk membantu
ingatan.
Mudah diingat dan sesuai dengan operasi yang
dilakukan.
Contoh Program SAP-1
dalam bentuk Mnemonic
ALAMAT MNEMONIC 0 H LDA 9 H 1 H ADD AH 2 H ADD BH 3 H SUB CH 4 H OUT 5 H HLT 6 H FFH 7 H FFH 8 H FFH 9 H 01H A H 02H B H 03H C H 04H
Pemrograman SAP-1 (1)
Untuk memasukkan instruksi dan data ke dalam memori SAP-1
harus mmenggunakan kode tertentu yang dimengerti komputer. Kode ini memberitahu operasi yang harus dilakukan Operation Code <Op-Code>
Contoh :
Alamat Instruksi Op-Code
0H LDA FH 0000 1H ADD EH 0001 2H OUT 1110 3H HLT 1111
Pemrograman SAP-1 (2)
Alamat Instruksi Bahasa Mesin 0H LDA FH 0000 1111 1H ADD EH 0001 1110 2H OUT 1110 xxxx 3H HLT 1111 xxxx Instruction Field Address Field
Pemrograman SAP-1 (3)
Assembly Language
Tatacara penulisan program dalam mnemonic
<Source Program> Machine Language
Tatacara penulisan program dalam binary
<Object Program>
.
Contoh : Alamat Mnemonic Alamat Bahasa Mesin
0H LDA 9H 0000 0000 1001 1H ADD AH 0001 0001 1010 2H OUT 0010 1110 XXXX 3H HLT 0011 1111 XXXX
Source Program Object Program
Tugas 4: Pemrograman SAP-1
1. Buat Resume Komputer SAP-1
2. Buatlah program SAP-1 dalam bentuk Mnemonic dan bahasa mesin untuk soal
berikut:
a. 5 + 4 – 6
Gunakan Register DH, EH dan FH untuk menyimpan data dan hasilnya disimpan di register A
b. 8 + 4 – 3 + 5 - 2
Gunakan Register BH sampai FH untuk menyimpan data dan hasilnya ditampilkan ke 8 LED
3. Simulasikan program yang saudara buat pada soal no. 2 menggunakan Logisim dan
ISIS Proteus dan tuliskan hasil akhirnya dalam bentuk screenshot. Catatan :
1. Semua bilangan pada soal adalah bilangan desimal
2. Tugas ditulis dalam bentuk softcopy dengan format :
Nama-Kelas-Tugas4-KPKK.doc
3. Tugas dikumpulkan 1 minggu setelah tugas ini diberikan. 4. Telat pengumpulan tugas tidak akan dinilai.
Daftar Pustaka
Albert Paul Malvino, Ph.D., Digital Computer Electronics, 3rd Edition