sap1 resume
TRANSCRIPT
KOMPUTER SIMPLE AS POSSIBLE (SAP-1)
Pengantar
Komputer SAP (Simple as Possible) artinya komputer sesederhana mungkin
Digunakan untuk memperkenalkan cara kerja komputer yang paling sederhana
Merupakan tahap pertama dalam evolusi perkembangan komputer-komputer modern
Arsitektur
Arsitektur
Arsitektur komputer SAP sebuah komputer berorganisasi bus
Semua keluaran register menuju bus W yang merupakan bus tiga-keadaan
Keluaran register hanya memiliki dua-keadaan Unit-unit yang ada: Pencacah Program, Masukan
dan MAR, RAM, Register Instruksi, Pengendali - pengurut, Akumulator, Penjumlah-pengurang, Register B, Register keluaran, dan peraga biner
Pencacah Program (Program Counter) Program disimpan pada bagian awal memori.
Instruksi pertama disimpan pada alamat 0000, instruksi kedua disimpan pada alamat 0001, instruksi ketiga disimpan pada alamat 0010, dst
Pencacah program akan mencacah dari 0000 sd 1111
Tugas: mengirimkan ke memori alamat instruksi berikutnya yang akan diambil dan dieksekusi
Pencacah Program (Program Counter) Program Counter (PC) direset ke 0000 setiap kali komputer
dijalankan Saat komputer dijalankan: PC mengirimkan alamat 0000 ke
memori. Kemudian PC meng-increment cacahannya menjadi 0001
Setelah isi alamat 0000 diambil dan dieksekusi, PC mengirimkan alamat 0001 ke memori. Pencacah menaikkan cacahannya kembali
Setelah instruksi pada alamat 0001 diambil dan dieksekusi, PC mengirimkan lagi alamat 0010 ke memori. Dan seterusnya …. (sampai dengan instruksi terakhir dieksekusi)
Pencacah Program (Program Counter) PC dapat dibayangkan seperti seseorang
yang memakai jarinya untuk menunjukkan kepada suatu daftar instruksi yang harus dilaksanakan
PC sering disebut dengan Penunjuk (Pointer), pencacah yang menunjuk kepada suatu alamat tertentu pada memori yang akan dieksekusi
Masukan dan MAR
Singkatan dari Memory Address Register Merupakan register yang digunakan untuk
menahan (latched) alamat data yang akan dibaca dari RAM
Kemudian MAR mengirimkan alamat 4-bit ke dalam RAM, dimana operasi membaca dilaksanakan
RAM
Pada saat komputer bekerja, RAM menerima alamat 4-bit dari MAR dan kemudian operasi membaca dilaksanakan
Prosesnya: instruksi dan kata yang ada dalam RAM ditempatkan pada bus W untuk digunakan oleh beberapa bagian lain komputer
Register Instruksi (Instruction Register) Register instruksi merupakan bagian dari unit kendali Untuk mengambil sebuah instruksi dari memori, komputer
melakukan operasi membaca memori hasilnya dimuat ke
bus W kemudian masuk ke register instruksi Dibagi dua medan:
– Bagian most significant (4-bit atas, untuk bagian opcode) keluaran bersifat 2-keadaan, terhubung ke blok pengendali - pengurut
– Bagian least significant (4-bit bawah, untuk bagian operand) keluaran bersifat 3-keadaan, dapat dimuat di bus W apabila diperlukan
Pengendali - Pengurut
Sebelum komputer bekerja, sinyal CLR dan CLR masing-masing dikirimkan ke PC dan IR PC reset dan instruksi terakhir dalam IR akan dihapus
Sinyal clock CLK dikirimkan ke semua register buffer untuk mensinkronkan operasi komputer
Kata kendali 12-bit dikirimkan melalui bus kendali 12-bit
Format kata kendali
Akumulator
Merupakan sebuah register buffer yang menyimpan jawaban sementara (tahap intermediate) selama komputer beroperasi
Akumulator mempunyai dua macam keluaran– Keluaran 3-keadaan (ke bus W)– Keluaran 2-keadaan (ke penjumlah-pengurang)
Saat EA = ‘1’ hasil diletakkan di bus W
Penjumlah - Pengurang SAP-1 menggunakan penjumlah - pengurang komplemen-2 Jika SU rendah maka keluarannya adalah
S =A+B Jika SU tinggi maka keluarannya adalah
S=A+B’ Rangkaian penjumlah - pengurang bersifat asinkron (tidak
diatur oleh adanya pulsa clock), jadi keluarannya akan berubah apabila terjadi perubahan input
Saat EU = ‘1’, hasil keluaran akan dimuat ke bus W
Register B
merupakan register buffer yang lain diantara register-register yang ada, register ini digunakan dalam operasi aritmetik
Transfer dari bus W ke register B terjadi saat LB = ‘0’ dan pulsa clock naik.
Keluaran register B dihubungkan dengan masukan penjumlah - pengurang, dan digunakan untuk memasukkan bilangan yang akan dikurangkan atau dijumlahkan dengan isi akumulator
Register Keluaran
Pada akhir operasi komputer, akumulator berisi jawaban dari persoalan yang diselesaikan perlu dikomunikasikan dengan dunia luar
Apabila EA tinggi dan LO rendah, pulsa clock positif berkutnya akan memasukkan data dari akumulator ke dalam register keluaran
Register keluaran sering disebut dengan port output
Peraga Biner
Berupa barisan LED yang terdiri atas 8 buah LED
Setiap LED dihubungkan dengan sebuah flip-flop dari port output, maka peraga biner akan menyajikan keluaran dari port output
Perangkat Instruksi
Perangkat komputer tak berguna sebelum diprogram operasinya
Instruksi harus dimasukkan langkah demi langkah ke memori harus dipelajari perangkat instruksi (set instruction)
Perangkat instruksi pada komputer SAP-1 terdiri dari LDA, ADD, SUB, OUT, HLT
LDA
Data yang tersimpan dalam memori dapat diberi lambang R0, R1, R2, … Artinya R0 disimpan pada alamat 0H, R1 disimpan pada alamat 1H, R2 disimpan pada alamat 2H, dst
Contoh: R8 = 1111 0000, alamat 8H pada memori berisi data 1111 0000
LDA merupakan singkata dari ‘Load the Accumulator’ (Isilah akumulator)
LDA
Contoh: LDA 8H artinya: ‘isilah akumulator dengan isi dari lokasi memori 8H’
Jika mula-mula R8 = 1111 0000
maka eksekusi instruksi LDA 8H akan menghasilkan A = 1111 0000
ADD
ADD merupakan instruksi untuk menjumlahkan antara isi akumulator dengan isi dari suatu lokasi memori
Contoh: ADD 9H berarti: ‘tambahkan isi dari lokasi memori 9H dengan isi akumulator’
ADD
Contoh: misal dalam akumulator sudah berisi data (2)10, dan bilangan (3)10 menempati lokasi memori 9H. Maka
A = 0000 0010
R9 = 0000 0011
Saat pelaksanaan instruksi ADD 9H, akan berlangsung operasi sbb: – Pertama, R9 diisikan ke register B sehingga
B = 0000 0011
ADD
Pada waktu yang bersamaan, rangkaian penjumlah - pengurang melakukan operasi penjumlahan dan akan menghasilkan
SUM = 0000 0101– Kedua, hasil operasi penjumlahan diisikan ke
dalam akumulator sehingga
A = 0000 0101
SUB
Mirip dengan instruksi ADD Instruksi SUB yang lengkap dilengkapi
dengan alamat data yang hendak dikurangkan
Contoh SUB CH, artinya: ‘kurangkan isi lokasi memori CH dari isi akumulator’, dan hasil pengurangan akan disimpan di akumulator
SUB
Contoh: misal isi akumulator adalah (7)10 dan lokasi memori CH berisi data (3)10. Maka
A = 0000 0111
RC = 0000 0011
Pelaksanaan instruksi SUB CH berlangsung sbb:– Pertama, RC diisikan ke register B, sehingga
B = 0000 0011
SUB
Pada waktu yang hampir bersamaan, bagian penjumlah - pengurang melakukan operasi pengurangan dari A dan B dan menghasilkan selisih:
DIFF = 0000 0100– Kedua, hasil pengurangan ini disimpan dalam
akumulator, sehingga isinya menjadi:
A = 0000 0100
OUT
Instruksi OUT memberitahukan kepada komputer SAP-1 untuk memindahkan isi akumulator ke port output.
Setelah instruksi OUT dilaksanakan, dapat dilihat jawaban dari persoalan yang diberikan melaui peraga biner yang diberikan
Tabel Mnemonic
Pemrograman SAP-1
Untuk memasukkan instruksi dan data-data ke dalam memori SAP-1 kita harus menggunakan kode-kode tertentu yang dapat ditafsirkan komputer
Pemrograman SAP-1
Kode-kode tersebut memberitahukan kepada komputer sesuatu yang harus dilaksanakan maka kode tersebut disebut dengan operation code (opcode)
Contoh pengubahan instruksi menjadi kode biner:
Pemrograman SAP-1
Dalam memori diperoleh data:
Bahasa assembly berupa mnemonic Bahasa mesin berupa kode-kode biner
Siklus Pengambilan (Fetch Cycle) Unit kendali merupakan kunci dari pengoperasian
komputer secara elektronik Unit kendali akan membangkitkan atau mengeluarkan
kata kendali untuk mengambil dan mengeksekusi setiap instruksi
Pada saat instruksi diambil dan dieksekusi, komputer akan melewati beberapa keadaan pewaktuan (timing state; T state), yaitu periode-periode waktu saat mana terjadi perubahan isi register
Pencacah Putar
Pencacah Putar
Gambar tersebut merupakan pencacah lingkar dengan keluaran
T = T6T5T4T3T2T1
Pada permulaan operasi lingkar menunjukkan:
T = 000001 Setiap ada satu pulsa clock akan
menghasilkan berturut-turut:
Pencacah Putar
T = 000010
T = 000100
T = 001000
T = 010000
T = 100000 Kemudian pencacah putar direset menjadi 000001
lagi Gambar b memperlihatkan pulsa-pulsa pewaktuan
yang dikeluarkan oleh pencacah melingkar
Keadaan Alamat
Keadaan T1 disebut dengan keadaan alamat (address state) karena alamat di dalam PC dipindahkan ke MAR selama keadaan ini.
Gambar berikut ini memperlihatkan bagian-bagian komputer yang aktif selama keadaan ini
Keadaan Alamat
Selama keadaan alamat, EP dan LM merupakan bit-bit yang aktif; sedangkan bit-bit yang lain tidak aktif
Selama keadaan ini, bagian pengendali mengeluarkan kata kendali
Keadaan Penambahan
Keadaan T2 ini disebut dengan keadaan penambahan (increment state) karena hitungan pada PC ditambah selama periode ini.
Keadaan Penambahan
Selama keadaan penambahan ini, kata kendali yang dihasilkan adalah:
Bit yang aktif hanya CP
Keadaan Memori
Keadaan T3 disebut dengan keadaan memori karena isi RAM dengan alamat yang ditunjuk dipindahkan dari memori ke register instruksi (IR). Gambar berikut menunjukkan bagian yang aktif
Keadaan Memori
Selama keadaan ini, bit-bit yang aktif hanyalah CE dan LI, dan kata kendali yang dikeluarkan oleh bagian pengendali adalah
Siklus Pengambilan
Keadaan alamat, penambahan dan memori disebut dengan siklus pengambilan (fetch cycle) dari SAP-1
Siklus Eksekusi (Pelaksanaan)
Tiga keadaan berikutnya (T4, T5 dan T6) disebut dengan siklus eksekusi dari SAP-1
Transfer-transfer register yang terjadi selama siklus eksekusi tergantung pada macam instruksi yang sedang dieksekusi
Contoh: LDA 9H memerlukan operasi transfer register yang berbeda dibandingkan dengan ADD 9H
Rutin LDA
Anggap bahwa IR telah berisi instruksi LDA 9H, sehingga
IR = 0000 1001 Selama keadaan T4, medan instruksi 0000
dikirim ke dalam pengendali-pengurut yang melakukan pendekodean; sedangkan medan alamat 1001 diisikan ke dalam MAR
Rutin LDA
Gambar di atas adalah bagian-bagian yang aktif selama keadaan T4, bit-bit yang aktif adalah EI dan LM
Rutin LDA
Selama T5, bit-bit CE dan LA menjadi rendah. Ini berarti data yang telah dialamatkan dalam memori akan diisikan ke dalam akumulator pada saat pulsa berikutnya masuk
Rutin LDA
T6 adalah keadaan tanpa operasi (No operation disingkat NOP)
Selama kondisi ini, semua dalam kondisi tidak aktif
Rutin LDA
Berikut adalah gambar pewaktuan siklus fetch LDA
HLT
HLT adalah singkatan dari ‘halt’ yang artinya berhenti
digunakan untuk memberitahukan kepada komputer untuk berhenti memproses data
Instruksi Rujukan Memori
LDA, ADD, SUB disebut dengan instruksi rujukan memori (memory-reference instruction) karena semua instruksi tersebut menggunakan data yang tersimpan dalam memori
HLT dan OUT bukan merupakan instruksi rujukan memori karena instruksi tersebut tidak menggunakan data-data yang tersimpan pada memori
Mnemonic
LDA, ADD, SUB, OUT, dan HLT adalah perangkat instruksi bagi SAP-1
Instruksi-instruksi singkat seperti ini sering disebut dengan mnemonic (mnemonic artinya pembantu ingatan)