simple as possible (sap) - 1 · perangkat pembangun pencacah program (program counter) register...

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

Upload: lekhanh

Post on 31-Aug-2018

225 views

Category:

Documents


1 download

TRANSCRIPT

Simple As Possible

(SAP) - 1

Abdul [email protected]

http://skurlinux.blogspot.com

085374051884

Perangkat Pembangun

Pencacah Program (Program Counter) Register Masukan & Memory Address Register (MAR) Memori RAM 16 x 8 Register Instruksi Pengendali Pengurut (Control Sequencer) Akumulator A Penjumlah & Pengurang Register B Register Keluaran Peraga Biner

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

Penahan Tiga Keadaan (Three State Buffer)

Semua masukan dan keluaran register menuju dan daribus W dikendalikan oleh Three State Buffer (TSB).

TSB memungkinkan tiga kondisi :

– High (1) : Data 1 ditransfer

– Low (0) : Data 0 ditransfer

– High Impedance (impedansi tinggi) : Tidak ada data yang

mengalir dari DIn menuju DOut. Kondisi ini terjadi saat signal

Enable = 0 diberikan.

DInDOut

ENABLE

Jalur Kendali Komputer SAP

Jalur kendali umum adalah jalur kendali yang hampir adapada setiap komponen yaitu :

CLK : Memicu pengaktifan komponen dengan mode active high, aktif jika nilainya 1.

CLK : Memicu pengaktifan komponen dengan mode active low, aktif jika nilainya 0.

CLR : Mereset komponen dengan mode active high, aktifjika nilainya 1.

CLR : Mereset komponen dengan mode active low, aktifjika nilainya 0.

Pencacah Program (Program Counter)

Jalur kendali pada Program Counter (PC) :

– Ep : Mengeluarkan nilai dari PC ke Bus W

– Cp : Mengendalikan increment PC : PC PC + 1

Dalam SAP-1 instruksi disimpan pada RAM dibagian awal(dari alamat 0000, 0001, 0010, dst) dan data dibagianakhir.

Ketika komputer bekerja PC direset menjadi 0000.

Pencacah Program

(Program Counter)4

Cp

CLK

Ep

CLR

Pencacah Program (Program Counter)

Pada saat fetch, nilai 0000 ini dikirim ke MAR untukdiambil data pada alamat tersebut.

PC menaikkan angka cacahannya menjadi 0001MAR PCPC PC + 1

Setelah fetch dan instruksi dilaksanakan, nilai 0001 dikirim ke MAR dan PC kembali menaikkan angkanyamenjadi 0010.

Proses ini terus berlangsung sampai semua instruksidilaksanakan kecuali PC mendapat signal HALT.

PC dapat mencacah dari 0000 s/d 1111.

Register Masukan & MAR

Jalur kendali pada register ini :LM : Mengambil data dari bus W ke dalam MAR.

Register ini memungkinkan pengiriman 4 bit alamat dan 8 bit data ke RAM.

Selama komputer bekerja, alamat pada PC ditahan (latched) pada MAR.

Selanjutnya MAR mengirim alamat tersebut ke memori RAM, untuk membaca instruksi dalam memori.

Register Masukan

dan MAR

4 4

4CLK

LM

Random Access Memory (RAM) 16 x 8

Jalur kendali :CE : Mengeluarkan data 8bit dari memori ke bus W.

Memori utama tempatmenyimpan instruksi dan data.

Memori

RAM 16 x 8

4 4

8CE

Selama komputer beroperasi, RAM menerima alamat 4 bit dari MAR dan operasi baca dilaksanakan.

Memori dibaca, instruksi atau data akan keluar dari memoridan masuk ke dalam bus W.

Register Instruksi

Merupakan bagian dari unit kendali.

Pada saat instruksidari RAM masuk ke bus W, IR diaktifkan sehingga instruksiakan masuk ke IR.

IR dibagi jadi 2 bagian :– Bagian atas (4 bit) dikirim ke pengendali-pengurut.– Bagian bawah (4 bit lagi) ke bus W dikendalikan oleh TSB

Jalur kendali :– LI : Mengambil data 8 bit dari bus W.– EI : Mengendalikan data 4 bit dari IR ke bus W.

Register Instruksi

4

4

8

CLR

CLK

LI

EI

Pengendali Pengurut (Controller Sequencer)

Berfungsi untuk mengatur jalannya seluruh komputertermasuk eksekusi instruksi.

Sebelum komputer mulai bekerja, signal CLR dan CLK dikirimkan ke PC dan IR.

4

Pengendali

Pengurut

12

CELMEpCp LI EI LA EA SU EU LB LO

CLR

CLR

CLKCLK

Pengendali Pengurut (Controller Sequencer)

Signal CLK dikirimkan ke semua register untukmensinkronkan operasi komputer.

Data 12 bit dari register Pengendali Pengurut ini disebutMikroinstruksi.

Mikroinstruksi mengendalikan kerja seluruh register.

Akumulator (Accumulator)

Jalur kendali :

• LA : Mengambil data 8 bit dari bus W

• EA : Mengendalikan data 8 bit kebus W

Menyimpan hasil sementara selama komputer bekerja. Terdapat dua macam keluaran :

– Keluaran dua keadaan yang secara langsung diteruskan kepenjumlah-pengurang.

– Keluaran tiga keadaan dikirim ke bus W dan akumulator secaraterus menerus mengaktifkan rangkaian penjumlah-pengurang.

Akumulator A

8

8

8

LA

CLK

EA

Penjumlah & Pengurang

Jalur kendali :

• SU : Signal rendah (0) makaoperasi penjumlahan, bila signal tinggi (1) maka operasipengurangan.

• EU : Mengeluarkan data ke bus W

SAP-1 menggunakan penjumlah & pengurangkomplemen-2.

Data yang dijumlahkan atau dikurangkan berasal dariAkumulator dan Register B.

Penjumlah

& Pengurang

8

8

8SU

EU

Register B

Jalur kendali :

– LB : Menyalurkan data dari bus W ke register B.

Isi dari register B akan dipindahkan ke Penjumlah & Pengurang saat operasi penjumlahan atau pengurangan.

Register B

8

8LB

CLK

Register Keluaran

Jalur kendali :• LO : Mengambil data 8 bit dari

bus W

Pada akhir operasi, isiAkumulator akandipindahkan ke register keluaran.

Register ini sering disebut output port karena data yang telah diproses dapat dikeluarkan dari komputer melaluiregister ini.

Output port ini akan dihubungkan dengan interface circuit.

Register Keluaran

8

Peraga Biner

8LO

CLK

Perangkat Instruksi (Instruction 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 = 0001 0001Maka :LDA AH A = 0000 0011ADD 8H A = 0000 0011 + 0001 0001

A = 0001 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 = 0100 0101 dan 5H = 0100 0100Maka : LDA AH A = 0100 0101SUB 5H A = 0100 0101 - 0100 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.

Latihan (1)

LDA DH (DH = 0000 1001)ADD 5H (5H = 0001 0010)OUTHLT

LDA FH (FH = 0010 0110)SUB 4H (4H = 0000 0011)OUTHLT

Sertakan dengan gambar pada RAM.

Latihan (2)

LDA AH (AH = 0000 1111)ADD 8H (8H = 0001 0011)OUTHLT

LDA CH (CH = 0000 0111)SUB EH (EH = 0010 0110)OUTHLT

Sertakan dengan gambar pada RAM.