Tinggi
http://www.unhas.ac.id/amil/S2TE/siskom_2014/
L#2: SAP-1
Amil A. Ilham
http://www.unhas.ac.id/amil
SAP-1
SAP (Simple-As Possible) 1
Komputer dengan arsitektur yang sangat
sederhana
Arsitektur
SAP-1
Pencacah Program
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
4
RAM 16x8
Alamat
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Isi_memori
???????? (8 bit)
????????
????????
????????
????????
????????
????????
????????
????????
????????
????????
????????
????????
????????
????????
????????
5
RAM 16x8
Alamat
0H
1H
2H
3H
4H
5H
6H
7H
8H
9H
AH
BH
CH
DH
EH
FH
Isi_memori
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
6
Penjumlah/Pengurang
Menggunakan
rangkaian yang sama
Nilai logika Su akan
menentukan operasi
penjumlahan atau
pengurangan
Instruksi SAP-1
Mnemonik
LDA
ADD
SUB
0010
OUT
1110
HLT
1111
Pemprograman SAP-1
Bagaimana cara memprogram SAP-1 untuk
menyelesaikan persoalan aritmetik ini ?
16 + 20 + 24 32
Desimal
Biner (8 bit)
Hexa
16
20
24
32
9
Pemprograman SAP-1
Bagaimana cara memprogram SAP-1 untuk
menyelesaikan persoalan aritmetik ini ?
16 + 20 + 24 32
Desimal
Biner (8 bit)
Hexa
16
0001 0000
10H
20
0001 0100
14H
24
0001 1000
18H
32
0010 0000
20H
10
Pemprograman SAP-1
(Bahasa Assembly)
16 + 20 + 24 32
Desimal
Biner
(8 bit)
Hexa
16
0001 0000
10H
20
0001 0100
14H
24
0001 1000
18H
32
0010 0000
20H
Mnemonik
Kode Biner
LDA
0000
ADD
0001
SUB
0010
OUT
1110
HLT
1111
Alamat
Isi_memori
0H
1H
2H
3H
4H
5H
6H
7H
8H
9H
AH
BH
CH
DH
EH
FH
LDA 9H
ADD AH
ADD BH
SUB CH
OUT
HLT
10H
14H
18H
20H
11
Pemprograman SAP-1
(Bahasa Mesin)
16 + 20 + 24 32
Desimal
Biner
(8 bit)
Hexa
16
0001 0000
10H
20
0001 0100
14H
24
0001 1000
18H
32
0010 0000
20H
Mnemonik
Kode Biner
LDA
0000
ADD
0001
SUB
0010
OUT
1110
HLT
1111
Alamat
Isi_memori
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000 1001
0001 1010
0001 1011
0010 1100
1110 XXXX
1111 XXXX
0001 0000
0001 0100
0001 1000
0010 0000
12
Rangkaian Penjumlah/Pengurang
13
Rangkaian Penjumlah/Pengurang
16 + 20 = 36
0001 0000
0001 0100 +
0010 0100
Penjumlahan => Su = 0
14
Rangkaian Penjumlah/Pengurang
16 + 20 + 24 32 = 60 32 = 28
0011 1100
0011 1100
1110 0000 +
0010 0000 - => 1101 1111
1 + 10001 1100
1110 0000
Pengurang => Su = 1
15
Kinerja SAP-1
Satu siklus mesin pada
SAP-1 memiliki 6 keadaan
yaitu T1 T6 (6 clock).
Setiap instruksi
membutuhkan satu siklus
mesin.
Misalkan processor SAP-1
memiliki frekuensi clock 1
KHz (Periodenya = 1 ms).
Satu instruksi SAP-1
memerlukan waktu 6 ms.
16
T2
Siklus
Pengambilan
(Fetch Cycle)
T1,T2,T3
T1
Berlaku untuk
setiap instruksi
T3
17
Siklus
Eksekusi
T4,T5,T6
T5
Instruksi LDA
T4
T4
T6 = NOP
(No Operation)
18
Siklus
Eksekusi
T4,T5,T6
T6
T5
T4
Instruksi ADD
T4
19
CPU Time
CPU time = Instruction count x CPI x Clock
cycle time
CPI : Cycle per instruction
Misalkan processor SAP-1 memiliki frekuensi clock 1
KHz. Hitunglah CPU time untuk memproses program
aritmetika: 16 + 20 + 24 32
20