Sap 1 :: teori, implementasi & aplikasi [ ]

|
Sap 1 :: teori, implementasi & aplikasi [ ]
|
bet | 1/2 | Sana | 27.11.2023 | Hajmi | 1,12 Mb. | | #106549 |
Bog'liq simple-as-possible-computer-1 (1) - :: SAP - 1 ::
- TEORI, IMPLEMENTASI & APLIKASI
Komputer SAP < Simple As Possible > - Komputer SAP < Simple As Possible >
- Perancangan komputer SAP bertujuan untuk memperkenalkan semua ide penting dibalik operasi komputer tanpa harus tenggelam dalam kerumitan yang tidak perlu.
- Meski sederhana, SAP sudah mengandung banyak konsep yang lanjut.
- SAP-1 merupakan tahap pertama dari evolusi ke arah prngembangan komputer modern.
- ARSITEKTUR SAP-1
- PC < Program Counter >
- Bagian unit kendali yang mencacah dari 0000 – 1111
- Mengirimkan ke memori alamat, instruksi berikutnya yang akan diambil dan dilaksanakan.
- Direset ke 0000 sebelum program dijalankan
- 0000 Instruksi pertama
- 0001 Instruksi kedua
- 0010 Instruksi ketiga dst
- ARSITEKTUR SAP-1
- MAR < Memory Address Register >
- Register yang menyimpan sementara alamat memori untuk dikirimkan ke RAM
- RAM < Random Access Memory >
- TTL statik 16 x 8 untuk menyimpan program dan data.
- Menerima alamat 4 bit dari MAR dan operasi membaca dilakukan.
- ARSITEKTUR SAP-1
- IR < Instruction Register >
- Bagian unit kendali untuk mengambil sebuah instruksi dari memori.
- Isi lokasi memori yang ditunjuk ditempatkan pada bus W dan pada tepi positif, IR mulai pengisian
- Isi IR dibagi 2 Nibble :
- Nibble Atas : ke pengendali / Pengurut
- Nibble Bawah : dikirim ke bus W
- ARSITEKTUR SAP-1
- Pengendali / Pengurut
- Sebelum komputer bekerja, CLR dikirim ke PC < direset ke 0000 > dan CLR ke IR (Instruksi terakhir dihapus)
- CLK dikirim ke semua register buffer untuk sinkronisasi operasi komp.
- CLK ke PC untuk menjamin PC telah menyiapkan alamat berikutnya.
- Mengeluarkan 12 bit sinyal kendali < control bus >
- ARSITEKTUR SAP-1
- Accumulator
- Buffer yang menyimpan jawaban sementara selama beroperasi.
- Keluaran 2-state ke ADDER
- Keluaran 3-state ke Bus W
- Bila tinggi, maka terus menerus menggerakkan ADDER
- ARSITEKTUR SAP-1
- Penjumlah - Pengurang
- SAP-1 mempunyai sebuah Penjumlah – Pengurang komplemen 2.
- Su rendah, keluaran: S=A+B
- Su tinggi, keluaran : S=A-B
- Rangkaian Penjumlah – Pengurang bersifat Asinkron < tidak diatur oleh clock >
- Bila tinggi, maka keluaran penjumlah-pengurang muncul pada bus W.
- ARSITEKTUR SAP-1
- Register B
- Buffer untuk operasi Aritmatik.
- Bila rendah, maka kata pada bus W diisikan ke register B pada tepipositif clock.
- Keluaran 2-state menjalankan penjumlah-pengurang.
- Register Keluaran
- Memindahkan jawaban pada Acc ke keluaran
- Bila tinggi dan rendah, maka akan memasukkan isi A pada register keluaran pada tepi positif clock
- ARSITEKTUR SAP-1
- Peraga Biner
- Barisan 8 LED untuk menampilkan isi dari bandar keluaran.
- Perangkat Instruksi < Instruction Set >
- Operasi dasar yang dapat dilakukan dengan perintah / program.
- LDA < Load Data Accumulator >
- Isi Akumulator dengan isi dari lokasi memori
- Kata didalam memori dapat diberikan simbol R0, R1, R2
- Artinya : R0 untuk alamat 0H
- R1 untuk alamat 1H dst
- Contoh : LDA 8H ; /* Isikan Akumulator dengan isi alamat 8H */
- Misal: R8=1111 0000, maka eksekusi perintah ini menghasilkan
- A =1111 0000
- Perangkat Instruksi < Instruction Set >
- ADD
- Tambahkan isi lokasi memori pada Accumulator
- Contoh :
- ADD 9H ; /* Tambahkan Akumulator dengan isi alamat 9H */
- Jika : A =0000 0010 ; /* Isi Akumulator */
- R9 =0000 0011 ; /* isi memori 9H */
- maka eksekusi perintah ini, membuat isi memori 9H < R9 > diisikan ke Register B
- B =0000 0011
- Saat yang sama, penjumlah-pengurang menjumlahkan A dan B
- SUM=0000 0101
- Perangkat Instruksi < Instruction Set >
- SUB
- Kurangkan isi lokasi memori dari Accumulator
- Contoh :
- SUB CH ; /* Kurangkan Akumulator dengan isi alamat CH */
- Jika : A =0000 0101 ; /* Isi Akumulator */
- Rc =0000 0100 ; /* isi memori CH */
- maka eksekusi perintah ini, membuat isi memori CH < Rc > diisikan ke Register B
- B =0000 0100
- Saat yang sama, penjumlah-pengurang mengurangkan A - B
- DIFF=0000 0001 ; /* Hasilnya disimpan dalam Akumulator */
- Perangkat Instruksi < Instruction Set >
- OUT
- Memberitahu komputer SAP-1 untuk memindahkan isi Akumulator ke bandar keluaran
- Instruksi OUT tidak memerlukan alamat tertentu
- Instruksi OUT tidak berhubungan dengan data dalam memori
- HLT
- Memberitahu Komputer untuk menghentikan proses
- Akhir dari Program
- Instruksi Rujukan Memori
- < Memory Reference Instruction >
- Instruksi yang memerlukan lokasi memori tertentu
- LDA, ADD dan SUB
- MNEMONIC
- Instruksi singkat (in English) untuk membantu ingatan
- Mudah diingat dan sesuai dengan operasi yang dilakukan
- Contoh :
- Program SAP-1 dalam bentuk Mnemonic
- ALAMAT MNEMONIC
- 0 H LDA 9 H
- 1 H ADD AH
- 2 H ADD BH
- 3 H SUB CH
- 4 H OUT
- 5 H HLT
- 6 H FFH
- 7 H FFH
- 8 H FFH
- 9 H 01H
- A H 02H
- B H 03H
- C H 04H
- Pemrograman SAP-1
- Untuk memasukkan instruksi dan data ke dalam memori SAP-1 harus mmenggunakan kode tertentu yang dimengerti komputer. Kode ini memberitahu operasi yang harus dilakukan Operation Code < Op-Code>
- Mnemonic Op-Code Contoh :
- LDA 0000 Alamat Instruksi
- ADD 0001 0 H LDA FH
- SUB 0010 1 H ADD EH
- OUT 1110 2 H OUT
- HLT 1111 3 H HLT
- Pemrograman SAP-1
- Contoh :
- Alamat Instruksi
- 0 H LDA FH = 0000 1111
- 1 H ADD EH = 0001 1110
- 2 H OUT = 1110 XXXX
- 3 H HLT = 1111 XXXX
- Pemrograman SAP-1
- Assembly Language : tatacara penulisan program dalam mnemonic < Source Program >
- Machine Language : tatacara penulisan program dalam binary < Object Program >
- Contoh :
- Alamat Instruksi Alamat Instruksi
- 0 H LDA 9H 0000 0000 1001
- 1 H ADD AH 0001 0001 1010
- 2 H OUT 0010 1110 XXXX
- 3 H HLT 0011 1111 XXXX
- Source Program Object Program
- Siklus Pengambilan < Fetch Cycle >
- Unit kendali membangkitkan kata kendali untuk mengambil dan melaksanakan setiap instruksi.
- Setiap instruksi melewati beberapa keadaan pewaktuan < timing-state>
- Tstate = Keadaan T
- = periode-periode waktu pada saat mana terjadi
- perubahan isi register
- Tstate menggunakan pencacah putar
- T = T6T5T4T3T2T1
|
| |