simple as possible (sap) - 1 · memori yang telah dipindahkan ke register b dan hasilnya disimpan...

35
Simple As Possible (SAP) - 1 Abdul Syukur [email protected] http://skurlinux.blogspot.com 085374051884

Upload: vuongngoc

Post on 31-Aug-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Simple As Possible

(SAP) - 1

Abdul [email protected]

http://skurlinux.blogspot.com

085374051884

Arsitektur Komputer SAP-1

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Perangkat Instruksi (Instuction Set)

Terdapat dua jenis instruksi pada komputer SAP-1 :

Memiliki satu operand : LDA, ADD, dan SUB.

Ketiganya disebut juga Memory Reference Intruction.

Tanpa operand : OUT dan HLT.

Perangkat Instruksi (1)

LDA (Load The Accumulator)

Instruksi LDA mengambil data dari memori danmemasukkannya ke Akumulator.

Contoh :LDA AH

Instruksi ini mengambil data dari memori AH dandisalinkan ke Akumulator.

Perangkat Instruksi (2)

ADD (Adder)Instruksi ini menjumlahkan isi Akumulator dengan data memori yang telah dipindahkan ke Register B danhasilnya disimpan kembali di Akumulator.Contoh :LDA AHADD 8HMisal isi alamat AH = 0000 0011 dan 8H = 0000 0001Maka : LDA AH A = 0000 0011ADD 8H A = 0001 0011 + 0000 0001

A = 0000 0100

Perangkat Instruksi (3)

SUB (Subtract)Instruksi ini mengurangkan isi Akumulator dengan data memori yang telah dipindahkan ke Register B danhasilnya disimpan kembali di AkumulatorContoh :LDA AHSUB 5HMisal isi alamat AH = 0000 0101 dan 5H = 0000 0100Maka : LDA AH A = 0000 0101SUB 5H A = 0000 0101 - 0000 0100

A = 0000 0001

Perangkat Instruksi (4)

OUTInstruksi ini tanpa operand.Data dari Akumulator akan diambil dan dipindahkan keregister keluaran.

HLT (Halt)Instruksi ini berfungsi untuk menghentikan proses data. HLT menandai akhir suatu program. Setiap program dalam SAP-1 harus diakhiri oleh HLT.

Pemrograman SAP-1

Siklus Instruksi

Siklus instruksi terdiri dari2 tahapan (siklus):

FETCH

EXECUTE

Masing-masing siklusmemerlukan 3 siklusdetak (clock cycle).

No MnemonicKode Operasi(Opcode)

1 LDA 0000

2 ADD 0001

3 SUB 0010

4 OUT 1110

5 HLT 1111

Pemrograman SAP-1 (2)

Siklus FETCH (T1, T2, T3)

Pada siklus ini dilakukan pengambilan instruksi dari RAM ke IR.

– Mengirim isi PC ke MAR (Address state)

– Menaikkan cacahan PC (Increment state)

– Mengambil instruksi dari RAM ke IR (Memory state)

Masing-masing tahapan menggunakan satu siklus detak(clock cycle).

Pemrograman SAP-1 (3)

Siklus FETCH Tahapan pengiriman

alamat, T1. Nilai PC dikirim ke MAR, Pengendali & Pengurutmengirim signal kendali(CON) berikut :

CELMEpCp LI EI LA EA SU EU LB LO

CON =

CON =

1010 1 1 1 0 0 0 1 1

Pencacah Program

(Program Counter)

Register Masukan

dan MAR

4 4

Cp

CLK

Ep

CLR

CLK

LM

W

Pemrograman SAP-1 (4)

Siklus FETCH Tahapan penambahan

nilai PC dengan 1, T2. Pengendali & Pengurutmengirim signal kendali(CON) berikut :

CELMEpCp LI EI LA EA SU EU LB LO

CON =

CON =

11 0 1 1 1 0 0 0 1 11

Pencacah Program

(Program Counter)

Register Masukan

dan MAR

4 4

Cp

CLK

Ep

CLR

CLK

LM

W

Pemrograman SAP-1 (5)

Siklus FETCH Tahapan pengambilan

instruksi dari RAM keIR, T3. Pengendali & Pengurut mengirimsignal kendali (CON) berikut :

CELMEpCp LI EI LA EA SU EU LB LO

CON =

CON =

00 1 1 1 0 0 0 1 100

Memori

RAM 16 x 8

Register Instruksi

4

8

4

8

CLR

CLK

CE

LI

EI

W

Siklus FETCH Keseluruhan

Tahap pengalamatan (address state), penambahan nilaipencacah (increment state) dan pengambilan instruksidari memori (memory state) disebut juga dengan siklusfetch.

Berikut adalah gambar komponen-komponen yang aktif(warna biru) pada setiap tahapan T1, T2, T3.

Ilustrasi Siklus FETCH (T1) Address State

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Ilustrasi Siklus FETCH (T2) Increment State

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Ilustrasi Siklus FETCH (T3) Memory State

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Pemrograman SAP-1 (6)

Siklus Eksekusi (T4, T5, T6)

Instruksi LDA (T4 dan T5)

Tahapan pada instruksi LDA :

– Pada T4 alamat memori dikirim dari IR ke MAR.

– Pada T5 data dari RAM diambil dan dikirim keAkumulator.

– Pada T6 tidak melakukan apa-apa.

Pemrograman SAP-1 (7)

Siklus Eksekusi Instruksi LDA

Tahap pengirimanalamat, T4 : Pengendali& Pengurut mengirimsignal kendali (CON) berikut :

CELMEpCp LI EI LA EA SU EU LB LO

CON =

CON =

00 1 1 0 0 0 1 10 1 0

Register Instruksi

4

4

8LI

EI

W

Register Masukan

dan MAR

4 4

CLK

LM

Pemrograman SAP-1 (8)

Siklus Eksekusi Instruksi LDA

Tahap pengambilandata, T5 : Pengendali & Pengurut mengirimsignal kendali (CON) berikut :

Memori

RAM 16 x 88CE

WAkumulator A

8

8

8

LA

CLK

EA

CELMEpCp LI EI LA EA SU EU LB LO

CON =

CON =

00 1 1 0 0 0 1 10 1 0

Siklus Instruksi LDA Keseluruhan

Berikut ini adalah gambar komponen-komponen yang aktif (warna biru) pada tahap T4 dan T5 instruksi LDA.

Ilustrasi Siklus Intruksi LDA (T4) LDA

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Ilustrasi Siklus Intruksi LDA (T5) LDA

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Pemrograman SAP-1 (9)

Siklus Eksekusi

Instruksi ADD dan SUB

– T4 : Alamat memori dikirim dari IR ke MAR.

– T5 : Pemindahan data dari memori ke register B.

– T6 : Data dari akumulator dioperasikan (jumlah atau kurang) dengan data dari register B dan hasilnya disimpan di akumulator.

Perbedaan antara ADD dengan SUB hanya pada T6.

Pemrograman SAP-1 (10)

Siklus Eksekusi

T4 : Alamat memori dikirim dari IR ke MAR sama dengantahapan T4 pada LDA.

T5 : Pemindahan data dari memori ke register B. Pengendali & Pengurut mengirim signal kendali (CON) berikut :

CELMEpCp LI EI LA EA SU EU LB LO

CON =

CON =

00 1 1 0 0 01 10 1 0

Memori

RAM 16 x 88CE Register B8

LB

CLK

W

Pemrograman SAP-1 (11)

Siklus Eksekusi

Operasi ADD :

CON :

Operasi SUB :

CON :

CELMEpCp LI EI LA EA SU EU LB LO

CON =

CON =

00 1 1 0 01 10 1 1

CELMEpCp LI EI LA EA SU EU LB LO

CON =

CON =

00 1 1 0 11 10 1 1

Akumulator A

Register B

Penjumlah

& Pengurang

8

8

8

8

8

8

LA

CLK

EA

SU

EU

LB

CLK

Siklus Instruksi ADD/SUB Keseluruhan

Berikut ini adalah gambar komponen-komponen yang aktif (warna biru) pada tahap T4, T5, dan T6 instruksiADD/SUB.

Ilustrasi Siklus Instruksi ADD/SUB (T5)

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Ilustrasi Siklus Instruksi ADD/SUB (T6)

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Instruksi OUT

Instruksi OUT memerlukan satu tahap T4 yaitumemindahkan data dari akumulator kedalam register keluaran.

Siklus Instruksi OUT Keseluruhan

Pencacah Program

(Program Counter)

Memori

RAM 16 x 8

Register Masukan

dan MAR

4 4

4W

8

Register Instruksi

4

Pengendali

Pengurut

12

Akumulator A

Register B

Penjumlah

& Pengurang

Register Keluaran

8

Peraga Biner

Cp

4

8

4

8

8

8

8

8

8

8

8

CLK

Ep

CLR

CLR

CLK

CE

CLK

LM

LI

EI

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

LA

CLK

EA

SU

EU

LB

CLK

LO

CLK

Latihan (1)

Berikut adalah sebuah program SAP-1 dalam bentuk Mnemonik.

Berapakah nilai akhir padaregister Akumulator ?

R A M

Alamat Mnemonik

0 H LDA 9H

1 H ADD AH

2 H ADD BH

3 H SUB CH

4 H OUT

5 H HLT

Alamat Data

6 H 00 H

7 H 00 H

8 H 00 H

9 H 01 H

A H 02 H

B H 03 H

C H 04 H

D H 00 H

E H 00 H

F H 00 H

Jawaban (Hexadesimal)

A = 01H (LDA 9H) A = 01H + 02H (ADD AH)

A = 03 H A = 03H + 03H (ADD BH)

A = 06 H A = 06H – 04H (SUB CH)

A = 02 H Instruksi OUT akan mengeluarkan isi akumulator ke

register keluaran 0000 0010 atau (02 H). Instruksi HALT menghentikan permrosesan data.

Latihan (2)

Berikut adalah sebuah program SAP-1 dalam bentuk Mnemonik.

Berapakah nilai akhir padaregister Akumulator ?

R A M

Alamat Instruksi

0 H 0000 1001

1 H 0001 1010

2 H 0001 1011

3 H 0010 1100

4 H 1110 xxxx

5 H 1111 xxxx

Alamat Data

6 H 0000 0000

7 H 0000 0000

8 H 0000 0000

9 H 0000 0001

A H 0000 0010

B H 0000 0011

C H 0000 0100

D H 0000 0000

E H 0000 0000

F H 0000 0000

Jawaban (Biner)

A = 0000 0001 (LDA 9H) A = 0000 0001 + 0000 0010 (ADD AH)

A = 0000 0011 A = 0000 0011 + 0000 0011 (ADD BH)

A = 0000 0110 A = 0000 0110 – 0000 0100 (SUB CH)

A = 0000 0010 Instruksi OUT akan mengeluarkan isi akumulator ke

register keluaran 0000 0010. Instruksi HALT menghentikan pemrosesan data.

Latihan (3)

Berikut adalah sebuah program SAP-1 dalam bentuk Mnemonik.

Berapakah nilai akhir padaregister Akumulator ?

R A M

Alamat Mnemonik

0 H LDA EH

1 H ADD 8H

2 H SUB DH

3 H ADD BH

4 H OUT

5 H HLT

Alamat Data

6 H 00 H

7 H 00 H

8 H 08 H

9 H 00 H

A H 00 H

B H 07 H

C H 00 H

D H 05 H

E H 09 H

F H 00 H