P. 1
BAB V-2

BAB V-2

|Views: 102|Likes:
Published by KatsuoOno

More info:

Categories:Types, School Work
Published by: KatsuoOno on Feb 16, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/03/2013

pdf

text

original

Perangkat Instruksi (Instruction Set

)
Instruksi dalam SAP-1 terdiri dari 2 jenis : 1 operand dan tanpa operand. Operand adalah data atau alamat data yang dioperasikan. Instruksi yang memiliki 1 operand adalah : LDA, ADD dan SUB. Instruksi tanpa operand adalah OUT dan HLT

Memory Reference Instruction
Instruksi LDA, ADD dan SUB disebut instruksi-instruksi yang mengacu pada memori (memory reference instruction), karena semua instruksi yang bersangkutan menggunakan data yang tersimpan dalam memori.

LDA (Load the Accumulator)
Instruksi LDA mengambila data dari memori dan dimasukan ke dalam akumulator. Contoh : LDA AH Instruksi ini mengambil data dari alamat memori AH dan disimpan ke dalam akumulator.

ADD (Adder)
Instruksi ADD menjumlahkan isi akumulator dengan data memori. Contoh : ADD 8H Instruksi ini menjumlahkan isi akumulator denagn data memori alamat 8H. Hasil penjumlahan disimpan kembali dalam akumulator.

1

Misal isi alamat AH = 00000011 dan 8H = 00000001 LDA AH : A = 00000011 ADD 8H : A = A + 00000001 = 00000011 + 00000001 = 00000100

Selama pelaksanaan instruksi ADD 8H akan berlangsung operasi sbb: Pertama isi memori alamat 8H = 00000001 akan ditransfer ke dalam register B sehingga B = 00000001 Pada waktu bersamaan register PenjumlahPengurang melakukan penjumlahan dari register A dan B, menghasilkan jumlah, Hasil Jumlah = 000000100. Kemudian Hasil Jumlah ini diisikan ke dalam akumulator sehingga A = 00000100

SUB (Subtract)
Instruksi SUB mengurangkan isi akumulator dengan isi register B. Contoh : SUB 8H Instruksi ini mengurangkan isi akumulator dengan data memori alamat 8H. Hasilnya disimpan kembali dalam akumulator.

Prosesnya mirip dengan instruksi ADD. Misal AH = 00000101 dan 8H = 00000010 LDA AH : A = 00000101 ADD 8H : A = A - 00000010 = 00000101 - 00000010 = 00000011 Isi alamat memori 8H diambil dan dimasukan ke dalam register B. Kemudian dilakukan proses pengurangan dan hasilnya disimpan kembali di Akumulator

2

OUT
Instruksi OUT adalah instruksi tanpa operand. Data dari akumulator secara otomatis akan diambil dan dimasukan ke dalam Register Keluaran.

Pemrograman SAP-1
Di dalam pemrograman SAP terdapat kode yang akan memerintahkan komputer untuk melakukan suatu operasi yang disebut dengan kode operasi (operation code) yang disingkat dengan opcode. Berikut akan diberikan kode operasi dari tiap instruksi pada SAP-1 :
No. 1 2 3 4 5 Mnemonik LDA ADD SUB OUT HLT Kode Operasi (Opcode) 0000 0001 0010 1110 1111

HLT (Halt)
Instruksi HLT berfungsi untuk menghentikan proses. Instruksi ini memberitahu kepada komputer untuk berhenti memproses data. HLT menandai akhir suatu program. Instruksi ini tidak memerlukan operand memori. Setiap program dalam SAP-1 harus diakhiri dengan HLT.

Siklus Instruksi
Dalam menyelesaikan setiap instruksi diperlukan. Tahapan ini disebut siklus instruksi. Siklus instruksi terdiri dari 2 tahap yaitu FETCH dan EXECUTE. Masing-masing tahap memerlukan 3 siklus clock (clock cycle) ditandai dengan T1, T2, T3, T4, T5 dan T6. Siklus clock ini diatur oleh pencacah yang disebut Ring Counter yang mengeluarkan nilai T : T = T6T5T4T3T2T1 Pada saat komputer mulai dijalankan, data keluaran pencacah tersebut adalah : T = 000001 Selanjutnya akan menghasilkan 000010, 000100, 001000, 010000, dan 100000. Setiap instruksi diselesaikan dalam 6 keadaan T tersebut.

3

Siklus Fetch
Pada siklus fetch dilakukan pengambilan instruksi dari memori dan diletakan di dalam register instruksi. Semua instruksi melalui tahap ini. Tiga hal yang dilakukan pada tahap ini : Mengirim isi Pencacah Program ke dalam register alamat (MAR) (Address State) Menambah nilai pencacah Program dengan 1 (Increment State) Mengambil instruksi dari memori dan dimasukkan ke dalam register instruksi (Memory State)

Tahap Pengiriman Alamat (Address State) – T1
Pada tahap ini nilai dari pencacah program dikirim ke register alamat memori (MAR). Pengendali/Pengurut akan mengirim nilai kendali CON :

CON = C P E P L M C E CON = 0 1 0 1

L1 E1 L A E A 1 1 1 0

SU E U L B L O 0 0 1 1

Jalur yang aktif ada dua EP = 1 aktif high dan LM 0 aktif low. Data 4 bit akan keluar dari Pencacah Program menuju bus W bersamaan dengan itu data dari bus W akan diambil ke dalam Masukan dan MAR. Akhir tahap ini, alamat 4 bit sudah berada dalam MAR menunjuk ke memori RAM.

Tahap Penambahan Nilai Pencacah dengan 1 (Increment State) – T2
Pada tahap ini nilai dari pencacah program ditambahkan dengan satu Pengendali/Pengurut akan mengirim nilai kendali CON :

Tahap Pengambilan Instruksi dari Memori (Memory State) – T3
Pada tahap ini data pada Memori RAM yang ditunjuk oleh MAR, dikeluarkan menuju bus. Sementara itu, data dari bus W masuk ke dalam register Instruksi. Pengendali/Pengurut akan mengirim nilai kendali CON :

CON = C P E P L M C E CON = 1 0 1 1

L1 E1 L A E A 1 1 1 0

SU E U L B L O 0 0 1 1

CON = C P E P L M C E CON = 0 0 1 0

L1 E1 L A E A 0 1 1 0

SU E U L B L O 0 0 1 1

Jalur yang aktif C P = 1 Nilai Pencacah ditambah 1.

Jalur yang aktif CE dan L1 = 0, keduanya aktif low. Data 8 bit akan keluar dari Memori RAM menuju bus W, bersamaan dengan itu, data dari bus W akan diambil ke dalam Register Instruksi. Akhir tahap ini, 8 bit instruksi sudah berada dalam Register Instruksi.

4

4

Siklus Fetch Keseluruhan
Tahap Pengalamatan (Address State), penambahan nilai pencacah (increment state) dan pengambilan instruksi dari memori (memory state) disebut juga dengan siklus fetch. Berikut ini adalah dambar komponenkomponen yang aktif (warna abu-abu) pada setiap tahapan T1, T2, T3 :

W 8

8

Akumulator A 8 Penjumlah & Pengurang 8

Pencacah Program (Progam Counter)

4

W 8

8

A

CL K

4

4

CL K L

Masukan dan MAR 4 4

CE

Memori RAM 16 x 8

8

8

Register B

B

CE CL K

Memori RAM 16 x 8

8

8

Register B

Register Instruksi 4

8 4

O

1

8 CLK CL K CL R CL R SUEULBLO Peraga Biner

CL K

Register Instruksi 4

4 8 CLK CL K CL R CL R SUEULBLO Peraga Biner

1

Pengendali Pengurut 1 2 CPEPLMCE L1E1LAEA

Pengendali Pengurut 1 2 CPEPLMCE L1E1LAEA

Pencacah Program (Progam Counter)

4

W 8 8

CL K

Masukan dan MAR 4 4

CE

Memori RAM 16 x 8

8

8

Register B

Register Instruksi 4

4 8 CLK CL K CL Peraga Biner

1

Pengendali Pengurut

CPEPLMCE

R CL 1 R 2 L1E1LAEA SUEULBLO

8

L CLK 1 CL RE

8

Register Keluaran

8

8

4

LM

8

C p CLK CL KE p

Akumulator A 8 Penjumlah & Pengurang

L CL A K E
A

Siklus Eksekusi
Eksekusi instruksi dikendalikan oleh Pengendali/Pengurut (Controller / Sequencer). Masing-masing tahap eksekusi T4, T5 dan T6 berbeda-beda untuk setiap instruksi.

L
B

CL K L
O

CL K

8

8

L CLK 1 CL RE

Register Keluaran

L

L CLK 1 CL RE

8

Register Keluaran

8

8

4

Masukan dan MAR

8

4

LM

LM

8 Akumulator A 8 Penjumlah & Pengurang

Pencacah Program (Progam Counter)

8

C p CLK CL KE p

L CL A K E

C p CLK CL KE p

L CL A K E
A

L
B

CL K L
O

CL K

5

Instruksi LDA
Pada instruksi LDA hanya T4 dan T5 yang aktif, sementara tahap T6 tidak ada yang aktif. Tahapan pada instruksi LDA :
Pada tahap T4 alamat memori dikirim dari register instruksi ke MAR. Pada tahap T5 data dari memori diambil dan masuk ke register Akumulator. Pada tahap T6 tidak melakukan apa-apa.

Tahap Pengiriman Alamat – T4
Pada tahap ini nilai 4 bit operand dari register instruksi masuk ke MAR. Pengendali/Pengurut akan mengirim nilai kendali CON :
CON = C P E P L M C E CON = 0 0 0 1 L1 E1 L A E A 1 0 1 0 SU E U L B L O 0 0 1 1

Jalur yang aktif LM dan E1 = 0, keduanya aktif low. Data 4 bit keluar dari Register Instruksi menuju bus W, bersamaan dengan itu, data dari bus W akan diambil ke dalam MAR. Akhir tahap ini, 4 bit instruksi sudah berada dalam MAR menunjuk ke alamat memori RAM.

Tahap Pengambilan Data – T5
Pada tahap ini data 8 bit dari memori diambil dan dimasukan ke dalam akumulator. Pengendali/ Pengurut akan mengirim nilai kendali CON : CON = C P E P L M C E L1 E1 L A E A SU E U L B L O CON = 0 0 1 0 1 1 0 0 0 0 1 1 Jalur yang aktif CE dan LA = 0, keduanya aktif low. Data 8 bit dari memori menuju bus W, bersamaan dengan itu, data dari bus W akan diambil ke dalam akumulator. Akhir tahap ini, 8 bit data masuk ke akumulator.

Siklus Instruksi LDA Keseluruhan
Berikut ini adalah gambar komponenkomponen yang aktif (warna abu-abu) pada tahap T4 dan T5 instruksi LDA :

6

4

W 8

8

Akumulator A 8 Penjumlah & Pengurang 8

Pencacah Program (Progam Counter)

4

W 8

8

A

CL K

4

4

CL K L

Masukan dan MAR 4 4

CE

Memori RAM 16 x 8

8

8

Register B

B

CE CL K

Memori RAM 16 x 8

8

8

Register B

Register Instruksi 4

8 4

O

1

8 CLK CL K CL R CL R SUEULBLO Peraga Biner

CL K

Register Instruksi 4

4 8 CLK CL K CL R CL R SUEULBLO Peraga Biner

1

Pengendali Pengurut 1 2 CPEPLMCE L1E1LAEA

Pengendali Pengurut 1 2 CPEPLMCE L1E1LAEA

Tahap Pengiriman Alamat – T4
Pada tahap ini, sama persis dengan instruksi LDA. Nilai Alamat 4 bit dari register instruksi masuk ke dalam register alamat memori (MAR)

8

8

L CLK 1 CL RE

Register Keluaran

L

L CLK 1 CL RE

8

Register Keluaran

8

8

4

Masukan dan MAR

8

4

LM

LM

8 Akumulator A 8 Penjumlah & Pengurang

Pencacah Program (Progam Counter)

8

C p CLK CL KE p

L CL A K E

C p CLK CL KE p

L CL A K E
A

Instruksi ADD dan SUB
Pada instruksi ADD dan SUB data operand diambil dari memori dan dijumlahkan dengan akumulator dan hasilnya disimpan kembali ke dalam akumulator. Tahapan pada instruksi LDA : Pada tahap T4 alamat memori dikirim dari register instruksi ke MAR. Pada tahap T5 data dari memori diambil dan masuk ke register Akumulator. Pada tahap T6 data dari register B dioperasikan dengan akumulator dan hasilnya disimpan dalam akumulator. Perbedaan instruksi ADD dan SUB pada tahap 6.

L
B

CL K L
O

CL K

Tahap Pengiriman Data – T5
Pada tahap ini data 8 bit dari memori diambil dan dimasukan dalam register B. Pengendali/ Pengurut akan mengirim nilai kendali CON :
CON = C P E P L M C E CON = 0 0 1 0 L1 E1 L A E A 1 1 1 0 SU E U L B L O 0 0 0 1

Jalur yang aktif CE dan LB = 0, keduanya aktif low. Data 8 bit dari memori menuju bus W. bersamaan dengan itu, data dari bus W akan diambil ke dalam register B. Akhir tahap ini, 8 bit data masuk ke register B.

7

Tahap Pengoperasian ADD/SUB Data – T6
Pada tahap ini data 8 bit dari akumulator dan register B dioperasikan (ADD/SUB) hasilnya disimpan dalam akumulator. Pengendali/ Pengurut akan mengirim nilai kendali CON : Operasi ADD
CON = C P E P L M C E CON = 0 0 1 1 L1 E1 L A E A 1 1 0 0 SU E U L B L O 0 1 1 1

Operasi SUB

CON = C P E P L M C E CON = 0 0 1 1

L1 E1 L A E A 1 1 0 0

SU E U L B L O 1 1 1 1

Jalur yang aktif EU = 1 aktif high dan LA = 0 aktif low.

Jalur yang aktif SU, EU aktif high dan LA = 0 aktif low. Data 8 bit dari register B dan akumulator dioperasikan (ADD/SUB) dan hasilnya disimpan kembali ke akumulator lewat bus W.

4

W 8

8

Akumulator A 8 Penjumlah & Pengurang 8

Pencacah Program (Progam Counter)

4

W 8

8

A

L CE Memori RAM 16 x 8 8 8 Register B
B

CE CL K

Memori RAM 16 x 8

8

8

Register B

Register Instruksi 4

8 4

O

1

8 CLK CL K CL R CL R SUEULBLO Peraga Biner

CL K

Register Instruksi 4

4 8 CLK CL K CL R CL R SUEULBLO Peraga Biner

1

Pengendali Pengurut 1 2 CPEPLMCE L1E1LAEA

Pengendali Pengurut 1 2 CPEPLMCE L1E1LAEA

8

8

L CLK 1 CL RE

Register Keluaran

L

L CLK 1 CL RE

8

Register Keluaran

8

Berikut ini adalah gambar komponenkomponen yang aktif (warna abu-abu) pada tahap T4 , T5 dan T6 instruksi ADD / SUB :

CL K

4

4

CL K

Masukan dan MAR 4 4

8

4

Masukan dan MAR

8

4

LM

LM

8 Akumulator A 8 Penjumlah & Pengurang

Pencacah Program (Progam Counter)

8

Siklus Instruksi ADD/SUB Keseluruhan

C p CLK CL KE p

L CL A K E

C p CLK CL KE p

L CL A K E
A

L
B

CL K L
O

CL K

8

Instruksi OUT
Instruksi OUT memerlukan satu tahap T yaitu memindahkan data dari akumulator ke dalam register keluaran. Pengendali/ Pengurut akan mengirim nilai kendali CON :
CON = C P E P L M C E CON = 0 0 1 1 L1 E1 L A E A 1 1 1 1 SU E U L B L O 0 0 1 0

Pencacah Program (Progam Counter)

4

W 8

8

CL K

Masukan dan MAR 4 4

CE

Memori RAM 16 x 8

8

8

Register B

Register Instruksi 4

4 8 CLK CL K CL R CL R SUEULBLO Peraga Biner

1

Jalur yang aktif EA = 1 aktif high dan LB = 0 aktif low. Siklus Instruksi OUT Keseluruhan :

Pengendali Pengurut 1 2 CPEPLMCE L1E1LAEA

8

L CLK 1 CL RE

8

Register Keluaran

8

8

4

LM

8 Akumulator A 8 Penjumlah & Pengurang

C p CLK CL KE p

L CL A K E
A

L
B

CL K L
O

CL K

9

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->