Simple as Posible Computer 1 Arsitektur SAP1 2
Simple as Posible Computer - 1
Arsitektur SAP-1 2
3 -state buffer Arsitektur SAP-1 Semua keluaran menuju bus W dikendalikan oleh three state buffer yang memungkinkan transfer data dari register ke bus secara teratur. Lebar jalur bus SAP-1 = 8 bit 3
Jalur Kendali Umum Arsitektur SAP-1 Jalur kendali umum yang hampir ada di setiap komponen adalah : • CLK : untuk memicu pengaktifan komponen dengan mode active high. Akan aktif bila nilai = 1 • CLK’ : untuk memicu pengaktifan komponen dengan mode active low. Akan aktif bila nilai = 0 • CLR : mereset komponen dengan mode active high. Aktif bila nilai 1 • CLR’ : mereset komponen dengan mode active low. Aktif bila nilai 0 4
Pencacah Program (Program Counter - PC) • Merupakan bagian dari unit kendali • Menggunakan 4 -bit, sehingga nilai yang mungkin adalah 0000 – 1111 • Saat komputer mulai bekerja, nilai pencacah = 0000 • Nilai ini dikirim ke MAR saat siklus fetch • Pencacah akan menaikkan angka cacahnya menjadi PC + 1 • Proses akan dilakukan terus sampai ada instruksi HALT 5
Jalur Kendali Pencacah Program Jalur kendali pada pencacah program adalah : • Ep : mengeluarkan nilai dari pencacah ke dalam bus W • Cp : mengendalikan increment pencacah : PC + 1 6
Masukan & MAR • Termasuk register saklar untuk alamat dan data • Bagian dari unit input • Memungkinkan pengiriman 4 bit alamat dan 8 bit data kepada memori (RAM) • Selama komputer bekerja, alamat dalam pencacah ditahan (latched) pada MAR • MAR kirim 4 bit alamat ke memori RAM untuk baca instruksi dalam memori • Jalur kendali adalah LM’, yaitu untuk mengambil data dari bus W ke dalam MAR 7
RAM 16 x 8 • Untuk menyimpan data & instruksi • Alamat memori yang akan digunakan ditunjukkan oleh MAR • Instruksi / data lalu ditaruh dalam bus W • Instruksi masuk ke IR • Data masuk ke register • Jumlah alamat 16 dan lebar data = 8 bit • Itulah sebabnya PC kita lebarnya 4 bit • Jalur Kendali : • CE’ : mengeluarkan 8 bit dari memori ke bus W 8
Pengendali Pengurut (Controller Sequencer) • Berfungsi untuk mengatur seluruh jalannya komputer, termasuk eksekusi instruksi • Sebelum komputer bekerja, sinyal CLR & CLK dikirim ke PC & IR • Sinyal CLR mengakibatkan • PC direset ke 0000 • Instruksi terakhir dalam IR dihapus • Sinyal CLK jg dikirim ke semua register buffer • Mensinkronkan operasi komputer • Menjamin setiap langkah operasi akan terjadi sbgmn mestinya 9
Akumulator • Sebuah register buffer, menyimpan sementara hasil operasi • Punya 2 macam keluaran : • Keluaran 2 keadaan diteruskan ke bagian penjumlah-pengurang • Keluaran 3 keadaan dikirimkan ke bus W • Data pd kedua macam keluaran sama, yg membedakan adalah keluaran 3 keadaan akan ditaruh ke bus W jika EA tinggi • Jalur kendali : • LA’ : ambil data 8 bit dari bus W • EA : mengendalikan data 8 bit yg menuju ke bus W 10
Penjumlah-Pengurang • Menggunakan sistem Komplemen 2 (K-2) • Jalur Kendali : • SU : menentukan jenis operas (+ / -). Jika SU aktif maka operasi pengurangan, sebaliknya penjumlahan • EU : mengendalikan data 8 bit menuju ke bus W • Bersifat asinkron, artinya isi keluarannya akan berubah bila terjadi perubahan pada data masukan 11
Register B • Adalah register buffer • Jalur Kendali : • LB’ : mengambil data 8 bit dari bus W • Keluaran dari register B mengaktifkan penjumlahpengurang, memasukkan bilangan yang akan dijumlahkan dengan atau dikurangkan dari isi akumulator 12
Register Keluaran • Berisi hasil operasi dari register penjumlah pengurang, setelah sementara disimpan dalam akumulator • Jalur kendali : • L 0’ : mengambil data 8 bit dari bus W • Sering disebut output port • Dalam mikrokomputer digunakan untuk menggerakkan alat spt printer, CRT, dsb 13
Peraga Biner • Terdiri dari 8 buah LED yang dihubungkan dengan sebuah flip-flop dari output port. • Menyajikan isi output port • Hasil jumlah/kurang dilihat dalam bentuk biner 14
Instruction Set SAP-1 (1) ° Instruction Set : • Operasi-operasi dasar yang dapat dilakukan oleh komputer ° Terdiri dari 2 jenis : • Operasi dengan 1 operand. Contoh : LDA, ADD, SUB - Disebut juga memory reference instruction karena menggunakan data yang tersimpan dalam memori • Operasi dengan tanpa operand. Contoh : HLT, OUT 15
Instruction Set SAP-1 (2) ° Instruksi-instruksi pada SAP-1 : • LDA (Load the Accumulator) - Untuk mengambil data dari memori dan dimasukkan ke dalam accumulator - Contoh : LDA AH • ADD - Untuk menjumlahkan isi accumulator dengan data memori - Contoh : ADD 8 H • SUB - Untuk mengurangkan isi accumulator dengan isi register B - Contoh : SUB DH 16
Instruction Set SAP-1 (3) ° Instruksi-instruksi pada SAP-1 (lanjutan): • OUT - Adalah instruksi tanpa operand - Data dari akumulator diambil dan dimasukkan ke dalam register keluaran • HLT - Halt - Untuk menghentikan proses - Akhir suatu program 17
Contoh Penggunaan Set Instruksi Misal AH = 00000011 dan 8 H = 00000001 LDA AH ADD 8 H ; ; A = 00000011 A = A + 00000001 = 00000100 diisi ke accumulator dimuat ke register B dimuat ke accumulator 18
Pemrograman SAP-1 ° Dalam melakukan operasinya, tiap instruksi komputer SAP-1 diberi operation code (op code) No 1 2 3 Mnemonik LDA ADD SUB Op Code 0000 0001 0010 4 5 OUT HLT 1110 1111 19
Siklus Instruksi ° Dalam menyelesaikan instruksi diperlukan tahapan ° Tahapan siklus instruksi : • Tahap Fetch • Tahap Execute ° Masing-masing tahap butuh 3 siklus detak (clock cycle) diatur oleh Ring Counter • Karena 2 tahap berarti 6 siklus detak (T) • T = T 6 T 5 T 4 T 3 T 2 T 1 ° Saat komputer jalan, data dari Ring Counter adalah 000001 • Selanjutnya 000010, 000100, 001000, 010000, 100000 ° Tiap instruksi diselesaikan dalam 6 keadaan T tersebut 20
Siklus Instruksi 21
Siklus Fetch ° Aktifitas dalam siklus Fetch : • Kirim PC ke MAR Address state • Tambah PC Increment State • Ambil instruksi dan masukkan ke IR Memory State 22
Siklus Fetch – Address State (T 1) 23
Siklus Fetch – Increment State (T 2) 24
Siklus Fetch – Memoty State(T 3) 25
Siklus Eksekusi ° Aktifitas dalam siklus Fetch : • Alamat memori dikirim dari IR ke MAR • Ambil data dan dimasukkan dalam accumulator ° Kedua aktifitas dilakukan pada tahap T 4 dan T 5, sedangkan tahap T 6 tidak melakukan apa-apa 26
Siklus Eksekusi – Pengiriman Alamat (T 4) 27
Siklus Eksekusi – Ambil Data(T 5) 28
Instruksi ADD & SUB ° Data operand diambil dari memori dan dijumlahkan dengan accumulator hasilnya disimpan ke accumulator ° Aktifitasnya : • Alamat memori dikirim dari IR ke MAR • Ambil data dari memori dan dikirim ke register B • Data register B dioperasikan dengan yang di accumulator dan hasilnya disimpan di accumulator ° Ketiga aktifitas dilakukan saat T 4, T 5 dan T 6 29
Instruksi ADD/SUB – Pengiriman Alamat (T 4) Untuk T 4 sama dg T 4 untuk LDA 30
Instruksi ADD/SUB – Ambil Data(T 5) 31
Instruksi ADD/SUB – ADD/SUB(T 6) Untuk SUB, SU 1 32
Instruksi OUT ° Hanya perlu 1 tahap T 4 : • Pindahkan data dari akumulator ke register keluaran 33
Controller-Sequencer (1) ° Merupakan register pengendali/pengurut ° Pada komputer modern, bagian ini adalah control unit ° Dalam komputer SAP, keluaran register ini lebarnya 12 bit yang mengendalikan seluruh register dalam SAP ° Setiap tahap T 1 -T 6 pengendali mengeluarkan sinyal kendali sebanyak 6 buah ° Sinyal kendali yang keluar dari controller/sequencer disebut dengan mikroinstruksi 34
Controller-Sequencer (2) • Keluaran controller/sequencer tergantung dari 4 bit dari IR • Tiap instruksi memiliki kode yang berbeda-beda 35
Komponen dalam controller/sequencer Alamat Data Instruksi 0000 0011 LDA 0001 0110 ADD 0010 1001 SUB 0011 XXXX None 0100 XXXX None 0101 XXXX None 0110 XXXX None 0111 XXXX None 1000 XXXX None 1001 XXXX None 1010 XXXX None 1011 XXXX None 1100 XXXX None 1101 XXXX None 1110 1100 OUT 1111 XXXX None 36
Pencacah Presetable ° Akan mencacah dari 0000 sampai 1110 ° Jika instruksi LDA, • maka nilai pencacah berikutnya 0011 ° Jika instruksi OUT, • Maka nilai pencacah berikutnya 1100 Alamat Data Instruksi 0000 0011 LDA 0001 0110 ADD 0010 1001 SUB 0011 XXXX None 0100 XXXX None 0101 XXXX None 0110 XXXX None 0111 XXXX None 1000 XXXX None 1001 XXXX None 1010 XXXX None 1011 XXXX None 1100 XXXX None 1101 XXXX None 1110 1100 OUT 1111 XXXX None 37
Mikroinstruksi & Mikroprogram ° Mikroinstruksi adalah instruksi dalam bhs assembly • Contoh : LDA, ADD, SUB, OUT • Sering jg disebut mnemonik • Dalam kasus komputer SAP-1 terdapat dalam isi ROM Kendali 16 x 12 ° Mikroprogram adalah program yang disimpan secara permanen dalam ROM kendali 38
Isi ROM Kendali 16 x 12 39
Simulasi siklus T, set instruksi & controller/sequencer (1) Op Code : LDA = 0000, ADD = 0001 Misal AH = 00000011 dan 8 H = 00000001 0 0000 LDA AH 1 0001 ADD 8 H 2 0010 --- 3 0011 --- 4 0100 --- 5 0101 --- 6 0110 --- 7 0111 --- 8 1000 00000001 9 1001 --- A 1010 00000011 B 1011 --- C 1100 --- D 1101 --- E 1110 --- F 1111 --- 40
Simulasi siklus T, set instruksi & controller/sequencer (2) Op Code : LDA = 0000, ADD = 0001 Misal AH = 00000011 dan 8 H = 00000001 RAM 0000 1010 (LDA AH) Alamat Data Instruksi 0000 0011 LDA 0001 0110 ADD 0010 1001 SUB 0011 41
Simulasi siklus T, set instruksi & controller/sequencer (3) 0 0000 LDA AH 1 0001 ADD 8 H 2 0010 --- 3 0011 --- 4 0100 --- 5 0101 --- 6 0110 --- 7 0111 --- 8 1000 00000001 9 1001 --- A 1010 00000011 B 1011 --- C 1100 --- D 1101 --- E 1110 --- F 1111 --- 42
- Slides: 42