Jumat, 07 November 2014

makalah organisasi dan arsitektur komputer SAP

MATA KULIAH DOSEN PENGASUH Organisasi & Arsitektur Komputer Arifin Noor Asyikin, ST,.MT PROSES SAP – 1 DAN PEMROGRAMAN SAP - 1 Disusun Oleh : Nama : RAHMA RANI SN NPM : 3061346022 SEKOLAH TINGGI ILMU KEGURUAN DAN ILMU PENDIDIKAN PERSATUAN GURU REPUBLIK INDONESIA PENDIDIKAN TEKNOLOGI INFORMATIKA DAN KOMPUTER BANJARMASIN 2014 KATA PENGANTAR Bismillahhirrahmanirrahim, Segala puji bagi Tuhan semesta alam, Dialah Tuhan yang menciptakan manusia dan memberi petunjuk kepada nya. Dan puji syukur kepada nya karena berkat pertolongan nya Saya tidak akan bisa menyelesaikan tugas makalah ini, saya berharap makalah ini dapat di gunakan sebagai media pembelajaran walaupun tidak begitu lengkap. Makalah ini di susun secara terperinci dan sesingkat-singatnya, dan saya juga menyadari bahwa dalam makalah ini masih terdapat kekurangan, dan untuk di kemudian hari dapat di sempurnakan kembali. Semoga makalah ini berguna bagi pembaca-Nya dan dapat diamalkan sebagaiman mesti nya. Di saran kan terlebih dahulu sebelum membaca nya, agar berdo’a terlebih dahulu agar ilmu yang kita baca dapat berguna bagi diri kita dan bagi orang lain. Banjarmasin, 11 Juli 2014 Rahma Rani SN DAFTAR ISI HALAMAN i KATA PENGANTAR ii DAFTAR ISI iii BAB I PENDAHULUAN 1 1.1. Latar Belakang 1 1.2. Tujuan 1 BAB II PEMBAHASAN 2 1. Pengertian Proses SAP-1 2 (a) Arsitektur 2 (b) Pencacah Program 3 (c) Masukan Dan Mar 4 (d) RAM 4 (e) Register Intruksi 4 (f) Pengendali Pengurut 5 (g) Akumulator 6 (h) Penjumlah – Pengurang 6 (i) Register B 6 (j) Register Keluaran 7 (k) Peraga Biner 7 2. Program SAP – 1 7 a) Mikro Intruksi 7 b) Makro Intruksi 8 c) Diagram Skematik SAP-1 10 d) Pecahan Program 11 (i) Mar 11 (ii) Multiplekser 2 ke-1 11 (iii) Ram 16 x 8 13 (iv) Register Intruksi 14 (v) Akumulator 14 (vi) Penjumlah – Pengurang 14 (vii) Register B dan Register Keluaran 15 (viii) Debounser (Peredam Pelantingan) Clear – Start 15 (ix) Debounser Langkah Langkah 15 (x) Debounser Manual – Auto 16 (xi) Bufer Detak 17 (xii) Rangkaian Detak & Catu Daya 17 (xiii) Dekoder Intruksi 18 (xiv) Pencacah Lingkar 18 (xv) Matriks Kendali 19 (xvi) Operasi 20 3. Penggadaian Mikro Program 21 a) Penyimpanan Mikro Program 21 b) ROM Alamat 22 c) Pencacah yang dapat di preset 22 d) ROM Kendali 23 e) Siklus Mesin Variabel 24 f) Keuntungan 26 4. Istilah – Istilah 27 BAB III PENUTUP A. Kesimpulan 29 BAB I PENDAHULUAN 1. LATAR BELAKANG. Komputer SAP (Simple-As Possible; artinya sederhana mungkin) telah dirancang untuk anda sebagai seorang pemula dalam bidang ini. Tujuan utama perancangan komputer SAP adalah untuk memperkenalkan semua gagasan penting dibalik operasi komputer tanpa membenamkan anda kedalam kerumitan yang tidak perlu. Meskipun demikian, sebuah komputer sederhana seperti SAP sudah mengandung banyak konsep yang lanjut. Untuk menghindarkan beban pemahaman yang terlampau banyak sekaligus, kita akan mengkaji secara tiga generasi yang berbeda dari komputer SAP.SAP-1 merupakan tahap pertama dalam evolusi kearah pengembangan komputer-komputer modern. Sekalipun masih terhitung primitif, pemahaman SAP-1 sudah merupakan suatu langkah besar bagi seorang pemula. Jadi dalam bahan yang disajikan dalam bab ini, kuasai SAP-1, baik arsitekturnya, cara pemrogramannya, maupun rangkaiannya. Setelah ini, anda akan siap untuk mempelajari komputer SAP-2. 2. TUJUAN SAP 1 & PEMOGRAMAN SAP 1 i. untuk memperkenalkan semua gagasan penting dibalik operasi komputer tanpa membenamkan anda kedalam kerumitan yang tidak perlu. BAB II URAIAN MATERI 1. Pengertian Proses SAP-1 Komputer SAP (Simple-As Possible; artinya sederhana mungkin) telah dirancang untuk anda sebagai seorang pemula dalam bidang ini. Tujuan utama perancangan komputer SAP adalah untuk memperkenalkan semua gagasan penting dibalik operasi komputer tanpa membenamkan anda kedalam kerumitan yang tidak perlu. Meskipun demikian, sebuah komputer sederhana seperti SAP sudah mengandung banyak konsep yang lanjut. Untuk menghindarkan beban pemahaman yang terlampau banyak sekaligus, kita akan mengkaji secara tiga generasi yang berbeda dari komputer SAP. SAP-1 merupakan tahap pertama dalam evolusi kearah pengembangan komputer-komputer modern. Sekalipun masih terhitung primitif, pemahaman SAP-1 sudah merupakan suatu langkah besar bagi seorang pemula. Jadi dalam bahan yang disajikan dalam bab ini, kuasai SAP-1, baik arsitekturnya, cara pemrogramannya, maupun rangkaiannya. Setelah ini, anda akan siap untuk mempelajari komputer SAP-2. a. ARSITEKTUR Gambar 10-1 memperlihatkan arsitektur (struktur) dari SAP-1, sebuah komputer berorganisasi-bus. Semua keluaran register menuju bus W merupakan saklar tiga-keadaan, yang memungkinkan transfer data secara teratur. Semua keluaran register yang lain hanya memiliki dua keadaan; keluaran-keluaran ini secara kontinu menggerakkan kotak-kotak yang disambungkan kepadanya. Susunan pada Gambar 10-1 menonjolkan fungsi register-register yang dipakai dalam SAP-1. Karena itu, tidak ada usaha untuk menempatkan semua rangkaian pengendali dalam satu blok yang disebut untuk kendali, ataupun meletakkan semua rangkaian-rangkaian masukan-keluaran di dalam blok lain yang disebut unit I/O, dsb. Kebanyakan register dari Gambar 10-1 sudah pernah dikenal dari contoh dan pembahasan sebelumnya. Berikut ini adalah uraian singkat dari setiap kotak diagram, dan penjelasan yang terinci akan diberikan kemudian. Gambar 1.1 Arsitektur SAP-1 b. Pencacah Program Program disimpan pada bagian awal dari memori dengan instruksi pertama pada alamat biner 0000, intruksi kedua pada alamat 0001, instruksi ketiga pada alamat 0010, dan seterusnya. Pencacah program, yang merupakan bagian dari unit kendali, mencacah dari 0000 sampai 1111. Tugasnya adalah mengirimkan ke memori alamat dari instruksi berikutnya yang akan diambil dan dilaksanakan. Hal ini dilaksanakan sebagai berikut. Pencacah program direset ke 0000 setiap kali sebelum komputer dijalankan. Ketika komputer mulai bekerja, pencacah program mengirimkan alamat 0000 ke memori. Kemudian mencacah program meningkatkan angka cacahannya menjadi 0001. Setelah instruksi pertama diambil dan dilaksanakan, pencacah program mengirimkan alamat 0001 ke memori. Pencacah program kembali meningkatkan angka cacahannya. Sesudah instruksi kedua diambil dan dieksekusi, pencacah program mengirimkan alamat 0010 ke memori. Dengan demikian, pencacah program dapat menentukan instuksi berikutnya yang akan diambil dan dilaksanakan. Pencacah program di sini dapat dibayangkan seperti seseorang yang memakai jarinya untuk menunjuk kepada suatu daftar instruksi ini harus dilaksanakan pertama, itu kedua, itu ketiga, dan seterusnya. Itu sebabnya mengapa pencacah program kadang-kadang disebut penunjuk (pointer): pencacah itu menunjuk kepada suatu alamat tertentu dalam memori yang menyimpan isi penting pada alamat tsb. c. Masukan dan MAR Di bawah pencacah program adalah blok masukan dan MAR. Disini sudah termasuk register saklar untuk alamat dan data seperti dibahas dalam Pasal 9-4. Register-register saklar ini, yang merupakan bagian dari unit masukan, memungkinkan pengiriman 4 bit alamat dan 8 bit data kepada RAM. Ingatlah bahwa instruksi dan kata-data dituliskan ke dalam Ram sebelum komputer bekerja. Memory address register (disingkat MAR: artinya register alamat memori) adalah bagian dari memori SAR-1. Selama komputer bekerja, alamat dalam pencacah program ditahan (latched) pada MAR. Sejenak kemudian, MAR mengirimkan alamat 4 bit ini ke dalam RAM, dimana operasi membaca dilaksanakan. d. RAM Kotak Ram dalam gambar merupakan sebuah RAM TTL statik 16 x 8. Sebagaimana dibahas dalam Pasal 9-4, kita dapat memprogram RAM dengan register saklar alamat dan register saklar data. Melalui cara ini kita dapat memasukkan program dan data ke dalam memori sebelum komputer bekerja. Selama komputer beroperasi, RAM menerima alamat 4-bit dari MAR dan operasi membaca dilaksanakan. Dalam proses ini, instruksi dan kata-data yang tersimpan dala RAM ditempatkan pada bus W untuk digunakan oleh beberapa bagian lain dari komputer. e. Register Instruksi Register instruksi merupakan bagian dari unit kendali. Untuk mengambil sebuah instruksi dari memori, komputer melakukan operasi membaca memori. Dalam operasi ini isi dari lokasi memori yang ditunjuk alamatnya ditempatkan pada bus W. Pada waktu yang sama, register instruksi disiapkan untuk pengisian pada tepi positif dari sinyal detak (clock) berikutnya. Isi register instruksi dibagi menjadi dua nibble. Nibble bagian atas merupakan keluaran dua-keadaan yang langsung dikirimkan kepada blok “ pengendali-pengurut”. Nibble bagian bawah adalah keluaran tiga-keadaan yang dapat dibaca (ditempatkan) pada bus W bilamana diperlukan. f. Pengendali-Pengurut Blok terbawah di bagian kiri berisi pengendali-pengurut (controller-sequencer) sebelum komputer bekerja, sinyal-sinyal CLR dan CLR masing-masing dikirimkan ke pencanah program dan register instruksi. Sebagai akibatnya, pencacah program direset ke 0000 dan bersamaan ini instruksi terakhir dalam register instruksi dihapus. Sebuah sinyal detak CLK dikirimkan ke semua register bufer; sinyal ini mensinkronkan operasi komputer, yang menjamin bahwa setiap langkah operasi akan terjadi sebagaimana mestinya. Dengan kata lain, semua transfer dalam regiter terjadi pada tepi positif dari sinyal detak CLK yang sama. Perhatikan bahwa sinyal CLK juga memasuki pencacah program. Data 12-bit yang berasal dari pengendali-pengurut membentuk suatu kata-pengendalian komputer (seperti seorang pengawas yang memberitahu tentang apa yang harus dikerjakan). 12 kawat yang menyalurkan kata-kendali itu disebut bus kendali (control bus). Kata kendali mempunyai format sbb: CON = CpEp M 1 1 AEA SuEu B o Kata ini menentukan bagaimana register-register harus bereaksi terhadap tepi positif sinyal detak berikutnya. Misalnya, Ep tinggi dan M rendah berarti bahwa isi pencacah program ditahan di dalam MAP pada tepi positif berikutnya. Sebagai contoh yang lain, dan A yang rendah berrati kata RAM yang telah ditunjuk alamatnya akan ditransfer ke akumulator pada tepi positif berikutnya dari lonceng. Kelak kita akan mempelajari diagram pewaktuan yang bersangkutan untuk melihat tepatnya kapan dan bagaimana transfer data ini dilakukan. g. Akumulator Akumulator (A) adalah sebuah register buffer yang menyimpan jawaban sementara (tahap menengah, intermediate) selama komputer beroperasi. Dalam Gambar 10-1 diperlihatkan bahwa akumulator mempunyai dua macam keluaran. Keluaran dua keadaan secara langsung diteruskan ke bagian penjumlahan-pengurang. Keluaran tiga-keadaan dikirimkan kepada bus W. Karena itu kata 8-bit dari akumulator secara terus menerus menggerakkan rangkaian penjumlah-pengurangan; dan kata yang sama juga muncul pada bus W bilamana EA tinggi. h. Penjumlah- Pengurang SAP-1 menggunakan sebuah penjumlah-pengurang komplemen-2. Bila Su berharga rendah, maka keluaran jumlah dari penjumlah-pengurang dalam Gambar 10-1 adalah: S = A + B Apalagi Su tinggi, keluarannya berupa selisih A = A + B’ (ingat kembali bahwa komplemen-2 ekivalen dengan perubahan tanda dalam bilangan desimal) Rangkaian penjumah-pengurang bersifat asinkron (tidak diatur oleh sinyal detak); ini berarti isi keluarannya akan berubah bila terjadinya perubahan pada kata-kata masukan. Bilamana Eu tinggi, isi yang bersangkutan akan muncul pada bus W. i. Register B Register B adalah register bufer yang lain diantara register-register bufer yang ada. Register ini digunakan dalam operasi aritmetik. Sinyal B yang rendah dan tepi positif dari sinyal detak akan mengisikan kata pada bus W ke dalam register B. Keluaran dua-keadaan dari register B kemudian menggerakkan penjumlah-pengurang, memasukkan bilangan yang akan dijumlahkan dengan atau dikurangkan dari isi akumulator. j. Register Keluaran Dalam Contoh 8-1 telah dibahas cara kerja register keluaran. Pada akhir operasi komputer, akumulator berisi jawaban dari persoalan yang diselesaikan. Pada saat ini, kita perlu memindahkan jawaban yang bersangkutan ke “dunia luar”. Untuk keperluan inilah register keluaran dipergunakan. Apabila EA tinggi dan 0 rendah tepi positif sinyal detak berikutnya akan memasukkan kata dari akumulator ke dalam register keluaran. Register keluaran sering disebut bandar keluaran (output port) karena data yang telah diproses dapat meninggalkan komputer melalui register ini. Dalam mikrokomputer, bandar-bandar keluaran dihubungkan dengan rangkaian perantara (interface circuits) yang menggerakkan alat-alat periferal seperti: printer, tabung sinar-katoda (CRT), teletypewriter, dan sebagainya. (Rangkaian perantara menyiapkan data untuk menggerakkan setiap alat). k. Peraga Biner Peraga biner adalah suatu barisan yang terdiri dari 8 buah LED. Oleh karena setiap LED dihubungkan dengan sebuah flip-flop dari bandar keluaran, maka peraga biner akan menyajikan isi bandar keluaran, kita dapat melihat jawaban itu dalam bentuk biner. 2. PROGRAM SAP-1 Kita sebentar lagi akan melakukan analisis dari diagram skematiks dari komputer SAP-1, akan tetapi sebelumnya eksekusi dari instruksi-instruksi SAP-1 perlu dirangkumkan dalam sebuah tabel yang rapi yang dinamakn mikro program. A. Mikroinstruksi Pengendali-pengurut mengirimkan kata-kata kendali dengan laju satu kata dalam setiap keadaan T atau satu siklus detak. Kata-kata ini merupakan pengarahan kepada komputer tentang operasi yang harus dilakukan oleh bagian lain dari komputer. Karena masing-masing kata-kata kendali itu menimbulkan satu langkah kecil dalam pemrosesan data, maka setiap kata kendali disebut suatu mikroinstruksi. Bila kita lihat kembali diagram blok SAP-1 (gambar 10-1), kita dapat membayangkan adanya suatu arus lunak dari sederet mikro instruksi yang mengalir keluar dari pengendali-pengurut menuju kerangkaian-rangkaian SAP-1 yang lain. B. Makroinstruksi Instruksi-instruksi yang pernah kita pergunakan dalam pemrogaman (LDA. ADD. SUB,….) kadang-kadang disebut makroinstruksi untuk membedakannya dari mikroinstruksi. Setiap makroinstruksi SAP-1 tersusun dari mikroinstruksi. Setiap makroinstruksi SAP=1 tersusun dari tiga mikroinstruksi. Misalnya makroinstruksi LDA terdiri dari tiga macam mikroinstruksi seperti tercantum dalam tabel 10-3. Guna menyederhanakan bentuk mikroinstruksi itu kita dapat menggunakan bentuk heksadesimal sebagaimana terlihat pada tabel 10-4 Tabel 10-3 Makro Keadaan Cp Ep M 1 1 A EA SU EU B O Yang aktif LDA T4 0 0 0 1 1 0 1 0 0 0 1 1 M, 1 T5 0 0 1 0 1 1 0 0 0 0 1 1 , A T6 0 0 1 1 1 1 1 0 0 0 1 1 Tidak ada Tabel 10-4 Tabel 10-5 Mikroprogram SAP-1 Mikro program SAP-1 disajikan dalam tabel 10-5 yang merupakan daftar dari setiap makro instruksi dan mikroinstruksi-mikroinstruksi yang diperlukan bagi pelaksanaannya. Tabel ini merangkum rutin-rutin eksekusi untuk instruksi SAP-1. Tabel yang sama dapat pula dipakai bagi perangkat instruksi tingkat lebih lanjut. TABEL 10-6. ROM KENDALI SAP-1 Alamat Isi Rutin Bit aktif 0H 5E3H Fetch Ep, M 1H BE3H Cp 2H 263H , 1 3H 1A3H LDA M, 1 4H 2C3H , A 5H 3E3H Tidak ada 6H 1A3H ADD M, 1 7H 2E1H , B 8H 3C7H A, u 9H 1A3H SUB M, 1 AH 2E1H , B BH 3CFH A, u, u CH 3F2H OUT u, o DH 3E3H Tidak ada EH 3E3H Tidak ada FH X X Tidak dipakai CON = Cp Ep M 1 1 A EA Su Eu B o C. DIAGRAM SKEMATIK SAP-1 Dalam pasal ini kita akan mengkaji diagram skematik lengkap dari SAP-1. Gambar 10-12 sampai 10-15 memperlihatkan semua serpih, semua rangkaian, dan sinyal-sinyal yang terjadi didalamnya. Anda harus menggunakan gambar-gambar ini dalam mengikuti seluruh pembahasan selanjutnya. Lampiran 3 memberikan penjelasan tambahan untuk beberapa serpih yang lebih rumit. D. Pencacah Program Serpih-serpih C1, C2 dan C3 dari gambar 10-12 adalah pencacah program. Serpih C1, yaitu IC 74LS5107, adalah flip-flop JK majikan–budak berjumlah rangkap yang menghasilkan 2 - bit alamat bagian atas. Serpih C2, yaitu IC 74LS107 yang lain, menghasilkan 2 - bit alamat bagian bawah. Serpih C3 yaitu IC 74LS126, adalah susunan empat saklar tiga – keadaan yang normalnya terbuka; saklar ini berfungsi sebagai keluaran – keadaan dari pencacah program. Pada awal operasi komputer, CLR yang rendah mengosongkan (mereset) pencacah program menjadi 0000. Selama keadaan T1 , EP yang tinggi akan menempatkan alamat pada bus W. Selama keadaan T2 CP yang tinggi dikirimkan kepencacah program untuk menambaha cacahannya ketika merima tepi negatif sinyal CLK (ekivalen dengan tepi positif CLK) pada pertengahan keadaan T2 ini. Pencacah program berada pada kondisi tidak aktif selama keadaan T3¬ sampai T6. A. MAR Serpih C4, atau IC 74LS173, adalah sebuah register bufer 4 bit yang berfungsi sebagai MAR. Keluaran tiga-keadaan diubah menjadi menjadi keluaran dua-keadaan dengan mengetanahkan penyemat 1 dan 2. Keluaran dari MAR tidak perlu mempunyai modus tiga-keadaan mengingat keluaran MAR ini tidak disambungkan ke bus W. B. Multiplekser 2-ke-1 Serpih C5 yang merupakan ID 74LS157 adalah sebuah multiplekser nibble 2-ke-1. Nibble sebelah kiri (penyemat 14, 11, 5,2) berasal dari register saklar alamat (S1). Nibble sebelah kanan (penyemat 13, 10, 6, 3) berasal dari MAR. Saklar RUN-PROG (S2) memilih nibble yang akan diteruskan kepada keluaran serpih C5. Apabila S2 pada posisi PROG maka pemilihan jatuh pada nibble yang berasal dari register saklar alamat. Apabila S2 pada posisi RUN, nibble yang terpilih adalah yang keluar dari MAR. Gambar 2.1 . Pencacah Program, Memori dan Register Instruksi Gambar 2.2. Register A dan B, Penjumlah-Pengurang dan Rangkaian Keluaran. C. RAM 16 x 8 Serpih C6 dan C7 adalah IC 74189. Setiap serpih merupakan sebuah RAM statik 16 x 4. Bersama-sama, kedua serpih menghasilkan sebuah memori baca-tulis (read-write memory; RAM) 18 x 8. S3 adalah register saklar data (8-bit), dan S4 merupakan saklar baca-tulis (saklar tombol-tekan). Untuk memprogram memori, S2 dipasang pada posisi PROG; yang akan membuat masukan CE rendah (penyemat 2). Saklar data dan alamat kemudian diatur supaya memberikan kata-data dan kata alamat yang benar. Dengan menekan sejenak tombol dari saklar baca-tulis akan dihasilkan WE yang rendah (penyemat 3) dan pengisian memori. Sesudah program dan data berada di dalam memori, saklar RUN-PROG (S2) dipindahkan ke posisi RUN untuk mempersiapkan operasi komputer. D. Register Instruksi Serpih C8 dan C9 adalah IC 74LS173. Setiap serpih merupakan sebuah register bufer tiga-keadaan dengan 4-bit. Dua serpih ini berfungsi sebagai register instruksi. Dengan menghubungkan ke tanah penyemat 1 dan 2 dari C8, keluaran tiga-keadaan akan diubah menjadi keluaran dua-keadaan, I1 I6 I5 I4. Nibble ini akan diteruskan kepada dekoder instruksi di dalam pengendali-pengurut. Sinyal E1 mengendalikan keluaran C9, yaitu nibble bagian bawah dari register instruksi. Bilamana 1 menjadi rendah, nibble ini akan ditempatkan pada bus W. E. Akumulator Serpih C10 dan C11 yang merupakan IC74LS173, adalah akumulator (lihat Gambar 10-3). Penyemat 1 dan 2 pada kedua serpih itu diketanahkan untuk memperoleh keluaran dua-keadaan yang berhubungan dengan rangkaian penjumlah-pengurang. Serpih C12 dan C13 adalah IC 74LS126; saklar tiga–keadaan ini menempatkan isi akumulator pada bus W apabila EA tinggi F. Penjumlah-Pengurang Serpih C14 dan C15 adalah 1C 74LS86. gerbang EXCLUSIVE – OR ini merupakan pembalik (inverter) terkendali. Apabila SU menjadi rendah, isi dari register B akan dikeluarkan. Bilamana SU tinggi yang dikeluarkan adalah komplement – 1 dari isi register, dan angka 1 ditambahkan pada LSB untuk memperoleh komplement – 2. Serpih C16 dan C17 adalah 1C 74LS83, dan masing-masing merupakan sebuah penjumlah-penuh 4-bit yang disusun menjadi rangkaian penjumlah atau pengurang 8-bit. Serpih C18 dan C19 yang merupakan 1C 74LS126, mengubah jawaban 8-bit ini menjadi keluaran tiga-keadaan untuk menjalankan bus W. G. Register B dan register Keluaran Serpih-serpih C20 dan C21 yang merupakan 1C 74LS173, bersama-sama membentuk register B. Register ini mengandung data yang akan dijumlahkan atau dikurangkan dengan isi akumulator. Penyemat 1 dan 2 pada kedua serpih diketanahkan untuk menghasilkan keluaran dua – keadaan yang dihubungkan dengan rangkaian penjumlah data pengurang. Serpih-serpih C22 dan C23 adalah 1C 74LS173 dan membentuk register keluaran, yang berfungsi mengeluarkan peraga biner untuk menyajikan data yang telah diproses. H. Debounser (Peredam Pelantingan) Clear – Start. Pada Gambar 10-14 debounser “clear-start” menghasilkan dua keluaran : CLR untuk register instruksi dan CLR untuk pencacah program serta pencacah lingkar. CLR juga disalurkan kepada C29, yaitu flip-flop yang mengaktifkan detak. S¬5 merupakan sebuah saklar tombol-tekan. Apabila ditekan, kedudukan saklar berpindah keposisi CLEAR, dan membangkitkan sinyal CLR tinggi dan CLR rendah. Bila S5 dilepaskan, kedudukan saklar kembali ke posisi START, menghasilkan CLR rendah dan CLR tinggi. Perhatikan bahwa separuh dari isi serpih C24 digunakan dalam rangkaian debounser clear – start dan separuh yang lain digunakan dalam rangkaian debounser langkah-tunggal (single – step). Serpih C24 adalah 1C 7400, yaitu kemasan empat gerbang NAND 2- masukan. I. Debounser Langkah- Tunggal SAP-1 dapat beroperasi dalam dua ragam yaitu ragam manual dan ragam, otomatik. Dalam ragam manual, kita menekan dan melepaskan tombol S6 guna membangkitkan satu pulsa detak. Bilamana S6 ditekan, CLK menjadi tinggi : dan ketika dilepaskan, CLK menjadi rendah. Dengan katalain debounser langkah- tunggal dari Gambar 10-14 membangkitkan satu keadaan T pada saat kita menekan dan melepaskan tombol. Ini memungkinkan kita untuk menelusuri melalui keadaan-keadaan T yang berbeda selama melakukan trouble shooting mencari sumber kesulitan dan mengatasinya atau debuging (mengidentifikasi kesalahan dalam program mengidentifikasikan perangkat lunak/perangkat keras/trouble shoot.. J. Debounser Manual – Auto Saklar S7 adalah sebuah saklar single-pole double Throw (disingkat SPDT) yang dapat bertahan pada posisi MANUAL atau pada posisi AUTO. Dalam posisi MANUAL, tombol langkah-tunggal (single step) yang aktif. Gambar 2.3 Rangkaian-Rangkaian Catu Daya, Detak dan Clear saklar dalam Posisi AUTO komputer akan beroperasi Secara otomatik. Dua dari gerbang NAND dalam serpih (C26 digunakan untuk menghindari efek pelantingan (bouncing) pada saklar MANUAL – AUTO. Dua gerbang NAND lainnya dari C26 merupakan bagian dari rangkaian NAND-NAND yang mengemudikan detak langkah–tunggal atau detak otomatik untuk memberikan keluaran CLK dan CLK. K. Bufer Detak Keluaran pada penyemat 11 dari C26 menggerakkan bufer-detak (clock buffers). Seperti dapat dilihat daslam Gambar 10-14, dua buah imverter digunakan untuk menghasilkan keluaran CLK dan sebuah inverter untuk keluaran CLK. Tidak seperti kebanyakan Serpih-serpih yang lain, C27 adalah 1C standar TTL dan bukan piranti Schottky daya rendah (lihat daftar komponen SAP-1, Lampiran 4). Penggunaan standar TTL disebabkan oleh keperluan untuk menggerakkan 20 beban TTL Schottky daya – rendah, sebagaimana ditunjukkan dalam Tabel 4-5. Jika anda memeriksa lembaran data 74LS107 dan 74LS173 mengenai arus masukan, anda dapat menghitung jumlah beban TTL Schottky daya- rendah (LS) pada sinyal detak dan sinyal kosong (clear) sebagai berikut. CLK = 19 beban LS CLK = 2 beban LS CLR = 1 beban LS CLR = 20 beban LS Ini berarti sinyal-sinyal keluar CLK dan CLK dari C24 (standar TTL) cukup memadai untuk menggerakkan beban-beban TTL Schottky daya rendah . Demikian pula sinyal-sinyal keluaran CLR dan CLR dari C24 (standar TTL) dapat menggerakkan beban-bebannya. L. Rangkaian Detak Dan Catu Daya Serpih C28 adalah sebuah pewaktu (timer) 555. 1C ini mengeluarkan gelombang persegi berprekuensi 2 kHz dengan siklus kerja (duty cycle) 75 persen. Sebagaimana dibahas sebelumnya flip-flop yang menghdiupkan detak (start-the clock flip-flop), C29, membagi frekuensi sinyal tersebut menjadi 1 kHz dan menurunkan siklus kerjanya menjadi 50 persen. Rangkaian catu daya (power supply), terdiri dari sebuah penyearah jembatan gelombang penuh (full- wave bridge rectifier) dengan sebuah penapis (filter) kapasitor. Tegangan dc yang melalui kapasitor 1000 F ini berharga sekitar 20 V. Serpih C30, sebuah 1C LM340T-5,adalah sebuah regulator tegangan yang menghasilkan keluaran stabil + 5V. M. Dekoder Instruksi Serpih C31 yang merupakan sebuah inverter heks, menghasilkan sinyal komplemen dari bit-bit kode-operasi, I 7 I6 I5 I4 (lihat Gambar 10-15). Lalu, serpih C32, C33 dan C34 menterjemahkan kode – operasi menjadi lima sinyal keluaran : LDA, ADD, SUB, OUT dan HLT. Pelu diingat bahwa hanya satu diantara sinyal-sinyal ini yang menjadi aktif pada sesuatu saat. (HLT aktif – rendah, dan yang lain aktif – tinggi). Gambar 2.4. Dekoder Instruksi, Pencacah Lingkar dan Matriks Kendali. Pada waktu instruksi HLT berada pada register instruksi, bit-bit I7I6 I5I4 berharga 1111 dari HLT rendah. Sinyal ini kembali memasuki C25 (detak langkah – tunggal ) dan C29 (detak otomatik). Baik dalam ragam MANUAL maupun ragam AUTO, detak akan berhenti sebagai akibatnya dan Operasi komputerpun akan berakhir. N. Pencacah Lingkar Pencacah lingkar, kadang-kadang disebut Pula pencacah keadaan (state counter) , tersusun dari tiga buah serpih, C36.C37 dan C38, setiap serpih adalah 1C 74LS107, yang tak lain adalah sebuah flip-flop JK majikan – budak. Pencacah ini dapat direset dengan menekan tombol kosong – mulai (S5). Flip-flop Q0 diberi pembalik sehingga keluaran Q (C38, penyemat 6) menggerakkan masukan J dari flip-flop Q1 (C38,penyemat 1). Sebagai akibatnya, keluaran I1 merupakan tingkat logika tinggi pada saat awalnya. Sinyal CLK menggerakkan Suatu masukan aktif-rendah. Ini berarti tepi negatif sinyal CLK akan mengawali setiap keadaan T. Setengah siklus kemudian, tepi positif dari sinyal CLK akan menyebabkan pengisian register sebagaimana telah dijelaskan sebelumnya. O. Matriks Kendali Sinyal-sinyal LDA, ADD, SUB dan OUT yang berasal dari dekoder instruksi menggerakkan matriks kendali (control matrix) yang terdiri dari C39 sampai C48. Pada waktu yang sama, sinyal-sinyal dari pencacah lingkar, yaitu T1 sampai T6, akan menggerakkan matriks tersebut (rangkaian yang menerima dua kelompok bit dari sumber yang berbeda) Matriks ini menghasil sinyal CON yang berupa mikroinstruksi yang memberitahu komputer tentang apa yang harus dikerjakan. Dalam Gambar 10-15 pertama-tama T1 yang menjadi tinggi, kemudian T2, lalu T3, dan seterusnya. Analisis matriks kendali ini dapat diikuti sebagai berikut. T1 yang tinggi menghasilkan Ep rendah dan M rendah (keadaan alamat); T2 yang tinggi menghasilkan Cp tinggi (keadaan penambahan); dan T3 yang tinggi menghasilkan rendah dan 1 rendah (keadaan memori). Jadi tiga keadaan T yang pertama merupakan siklus pengambilan di dalam SAP-1. Dalam rotasi ringkas, kata-kata CON bagi siklus pengambilan adalah. ___________________________________ Keadaan CON Bit-bit aktif ___________________________________ T1 5E3H Ep, M T2 BE3H CP T3 263H , 1 ___________________________________ Selama keadaan eksekusi, T4 dan T6 menjadi tinggi secara berurutan. Pada waktu yang sama, hanya satu di antara sinyal-sinyal yang telah didekode (LDA sampai OUT) itu berada dalam keadaan tinggi. Karena itu, matriks kendali secara otomatik mengarahkan bit-bit aktif menuju ke saluran kendali keluaran yang tepat. Misalnya, pada waktu LDA tinggi, gerbang-gerbang NAND 2-masukan yang aktif hanyalah terdiri dari gerbang pertama, gerbang keempat, gerbang ketujuh, dan gerbang kesepuluh. Bilamana T4 tinggi, gerbang NAND pertama dan ketujuh akan diaktifkan, dan ini menghasilkan M rendah dan 1 rendah (mengisi MAR dengan medan alamat). Pada waktu T5 tinggi, gerbang NAND keempat dan kesepuluh diaktifkan ini menghasilkan rendah dan A rendah (mengisikan data RAM ke dalam akumulator). Misalnya, ketika T6 menjadi tinggi, tidak ada satupun diantara bit-bit kendali yang aktif (nop). Anda harus menganalisis operasi matriks kendali selama keadaan eksekusi dari kemungkinan-kemungkinan yang lain; yaitu ADD, SUB, dan OUT yang tinggi. Dengan demikian, anda akan menyetujui bahwa matriks kendali dapat membangkitkan mikroinstruksi ADD, SUB, dan OUT yang diperlihatkan pada Tabel 10-5 (mikroprogram SAP-1). P. Operasi Setiap kali sebelum komputer bekerja, operator memasukkan program dan data ke dalam memori SAP-1. Program tersebut menempati lokasi-lokasi memeori yang rendah (awal) dan data disimpan pada lokasi-lokasi memori yang berikutnya (lebih tinggi). Selanjutnya, operator menekan dan melepaskan kembali tombol- CLEAR. Sebagai akibatnya, sinyal CLK dan sinyal CLK akan menggerakkan semua register dan pencacah. Mikroinstruksi yang dikeluarkan oleh pengendali-pengendali akan menentukan langkah-langkah yang harus dilaksanakan pada setiap tepi CLK yang positif. Siklus mesin dalam SAP-1 selalu dimulai dengan siklus pengambilan. Siklus pengambilan meliputi keadaan-keadaan T1, T2, dan T3, masing-masing merupakan keadaan alamat, keadaan penambahan dan keadaan memori. Pada akhir siklus pengambilan, instruksi disimpan dalam register instruksi. Sesudah medan instruksi didekode, matriks kendali secara otomatis membangkitkan rutin eksekusi yang tepat. Di akhir siklus eksekusi, pencacah lingkar ( putar) mengalami reset dan selanjutnya dimulai siklus mesin yang berikutnya. Pemrosessan data akan berakhir bilamana instruksi HLT diisikan ke dalam register instruksi. 3. PANGADAAN MIKROPROGRAM Matriks kendali dari Gambar 10-15 merupakan suatu cara membangkitkan mikroinstruksi yang dibutuhkan dalam setiap siklus eksekusi. Dengan perangkat intruksi yang lebih besar, matriks kendali menjadi sangat rumit dan memerlukan ratusan bahkan ribuan gerbang logika. Demikianlah, mengapa pengendalian secara perangkat-keras (gerbang-gerbang matriks disambungkan bersama) ini memaksa para perancang mencari alternatif lain untuk menghasilkan kata-kata kendali yang menjalankan komputer. Cara yang dikenal dengan sebutan mikroprogramming merupakan alternatif tersebut. Gagasan dasar dari cara ini adalah menyimpan mikroprogram dalam sebuah ROM, dan bukan membangkitkankannya dengan sebuah matriks kendali. Pendekatan ini telah menyederhanakan penyusunan rangkaian pengendali-pengurut. A. Penyimpanan Mikroprogram Dengan memberi alamat dan menyertakan rutin pengambilan. Kita dapat menyusun sebuah tabel lengkap dari mikroinstruksi SAP-1 (Tabel 10-6). Mikroinstruksi ini dapat disimpan di dalam sebuah ROM kendali lengkap dengan rutin pengambilan pada alamat 0H sampai 5H, rutin ADD pada alamat 6H sampai 8H, rutin SUB pada alamat 9H sampai BH, dan rutin OUT pada alamat CH sampai EH. Untuk mengakses yang manapun, kita perlu memberikan alamat yang tepat. Misalnya, untuk mendapatkan rutin ADD, kita harus memberikan alamat 6H, 7H, 8H. Untuk mendapatkan rutin OUT, harus diberikan alamnat CH, DH, dan EH. Dengan ini, dalam mengakses suatu rutin siperlukan tiga langkah sbb: I. Mengetahui alamat awal dari rutin yang dimaksud II. Menelusuri dengan tepat semua alamat dari rutin itu III. Memberikan alamat kepada ROM kendali. B. ROM Alamat Gambar 10-16 memperlihatkan bagaimana melakukan mikroprogramming bagi komputer SAP-1. Dalam sistem ini terdapat sebuah ROM alamat, sebuah pencacah yang dapat direset, dan sebuah ROM kendali. ROM alamat mengandung alamat awal dari setiap rutin dalam Tabel 10-6. Dengan kata lain, ROM alamar berisi semua data dalam Tabel 10-7. Sebagaimana terlihat, alamat awal dari rutin LDA adalah 0011, alamat awal dari rutin ADD adalah 0110, dan sebagainya. Bilamana bit-bit kode operasi I7 I6 I5 I4 menggerakkan ROM maka alamat awal dari rutin akan dibangkitkan sebagai contoh, jika instruksi ADD sedang dilaksanakan, maka I7 I6 I5 I4 menunjukkan kata 0001, Ini merupakan masukan kepada ROM alamat, dan keluaran ROM ini adalah 0110. Gambar 3.1. Kendali SAP-1 yang dibuat dengan “Micro Programming” C. Pencacah yang dapat dipreset Apabila T3 tinggi, masukan LOAD dari pencacah Dapat dipreset menjadi tinggi dan pencacah akan mengisikan alamat awal yang berasal dari ROM alamat. Selama keadaan-keadaan T yang lain pencacah melakukan pencacahan . Mula-mula sinyal CLR tinggi yang berasal dari debounser kosong-mulai (clear- start) dideferensiasi menjadi paku tegangan positif yang tajam dan sinyal ini akan mereset pencacah. Pada waktu komputer mulai bekerja keluaran pencacah menunjukkan :0000 selama keadaan T1 0001 selama keadaan T2 , dan 0010 selama keadaan T3, setiap kali berlangsung siklus pengambilan, hal yang serupa akan terulang karena selalu akan dikeluarkan kata-kata 0000, 0001, dan 0010 dari pencacah selama keadaan T1, T2, T3. Kode operasi (op code) dalam register instruksi mengendalikan siklus eksekusi. Jika instruksi ADD telah diambil, bit-bit I7 I6 I5 I4 = 0001. Bit-bit kode operasi ini menggerakkan ROM alamat, menghasilkan keluaran 0110 (Tabel 10-7). Alamat awal ini merupakan masukan ke pencacah pre-setabel ( yang dapat dipreset). Ketika T3 menjadi tinggi, tepi pulsa datak negatif yang berikutnya akan mengisikan 0110 kedalam pencacah presetabel tersebut. Pencacah kini dalam kondisi preset, dan pencacahan dapat memulai lagi dari alamat rutin ADD. Keluaran pencacah menunjukkan angka 0110 selama keadaan T4, 0111 selama keadaan T5 dan 1000 selama keadaan T6 . Pada waktu dimulainya keadaan T1, tepi awal dari sinyal T1 didiferensiasi menjadi paku tegangan positif tajam yang akan mereset pencacah pada 0000 : yaitu alamat awal dari sikllus pengambilan. Selanjutnya siklus mesin yang baru akan dimulai lagi. D. ROM Kendali ROM kendali menyimpan mikroinstruksi SAP-1. Selama berlangsung siklus pengambilan. ROM ini menerima alamat 0000, 0001 dan 0010. Karena itu, keluarannya adalah SE3H BE3H 263H Mikroinstruksi yang tertera dalam tabel 10-6 ini menghasilkan keadaan alamat, keadaan penambahan dan keadaan memori. Selama sebuah instruksi ADD dilaksanakan ROM kendali menerima alamat 0110, 0111 dan 1000 selama siklus eksekusi. Ini menghasilkan keluaran : 1A3H 2E1H 3C7H Mikroinstruksi diatas melaksanakan operasi penjumlahan sebagaimana telah dibahas sebelumnya.Sebagai contoh yang lain, kita umpamakan instruksi OUT yang dilaksanakan. Maka kode operasi yang bersangkutan adalah 1110 sedangkan alamat awalnya adalah 1110 (Tabel 10-7). Selama siklus eksekusi berlangsung, keluaran pencacah adalah 1100, 1101 dan 1110. Sebagai akibatnya keluaran ROM kendali adalah 3F2H, 3E3H, dan 3E3H (Tabel 10-6). Rutin ini memindahkan isi akumulator kepintu keluaran. E. Siklus Mesin Variabel Mikro instruksi 3E3H dalam Tabel 10-6 menyatakan nop, dan ini muncul satu kali dalam rutin LBA dan dua kali dalam rutin OUT. Kadang nop ini dipakai dalam SAP-1 untuk mendapatkan satu siklus mesin yang tetap (fixed machine cycle) bagi semua instruksi . Dengan kata lain setiap siklus mesin memerlukan tepat enam keadaan T untuk jenis instruksi apapun. Bagi beberapa komputer adanya sebuah siklus mesin yang tetap mendatangkan keuntungan. Akan tetapi, bilamana kecepatan yang diutamakan, adanya keadaan nop akan memboroskan waktu, dan karena itu dapat dihilangkan. Satu cara mempercepat operasi komputer SAP-1 adalah dengan melompati (melewati ) setiap keadaan T yang mengandung nop. Kita dapat menghapuskan keadaan nop melalui perancangan ulang dari rangkaian Gambar 10-16 Ini akan dapat mempersingkat siklus mesin dari instruksi LDA menjadi lima keadaan (T1, T2, T4 dan T5). Dan siklus instruksi OUT menjadi empat keadaan T (T1, T2, T3, dan T4). Gambar 10-17. Siklus Mesin Variabel Gambar 10-17 memperlihatkan suatu cara menyusun siklus mesin variabel (Variabel mashine cycle: siklusmesin yang dapat diubah-ubah/ diatur). Untuk intruksi LDA, operasi tetap sama dari T1 sampai T5. Ketika keadaan T6 dimulai, ROM kendali menghasilkan keluaran 3E3H (mikroinstruksi nop). Gerbang NAND dengan segera akan mendeteksi keadaan nop ini dan menghasilkan sinyal keluaran NOP. Sinyal NOP ini diumpanbalikkan ke pencacah lingkar melalui sebuah gerbang AND, seperti ditunjukkan oleh gambar 10-18. Sinyal ini mereset pencacah lingkar kepada keadaan T1, dan dengan demikian siklus mesin yang baru akan dimulai kembali. Operasi di atas telah mengurangi siklus mesin instruksi LDA dari enam keadaan menjadi lima keadaan. Gambar 10-18. Pada instruksi OUT, nop yang pertama terjadi dalam keadaan T5. Dalam hal ini, sesaat setelah keadaan T5 dimulai, ROM kendali menghasilkan keluaran 3E3H, yang segera akan dideteksi oleh gerbang NAND. Sinyal NOP yang rendah dari NAND tersebut. Kemudian mereset pencacah program kembali ke kedaan T1. Dengan cara ini kita telah mengurangi siklus mesin instruksi OUT dari enam keadaan menjadi empat keadaan. Siklus mesin variabel biasa dipakai dalam mikroprosesor. Dalam 8085, sebagai contoh, siklus mesin mengambil dua sampai enam keadaan T karena semua keadaan nop yang tidak diinginkan dapat diabaikan. F. Keuntungan Satu keuntungan dari mikroprogramming adalah penghapusan bagian dekoder instruksi dan matriks kendali; kedua bagian ini menjadi sangat kompleks bagi perangkat instruksi yang lebih luas. Dengan kata lain, jauh lebih mudah menyimpan mikroinstruksi di dalam sebuah ROM daripada membuat rangkaian dekoder instruksi dan matriks kendali. Lagi pula, sekali anda merangkaiakan sebuah dekoder instruksi dengan matriks kendali, hanya ada satu cara untuk mengubah perangkat instruksiitu yaitu dengan mengubah sambungan-sambungan rangkaian ini. Pekerjaan tersebut tidak diperlukan dengan kendali yang dimikroprogramkan; apa yang harus dilakukan adalah mengubah ROM kendali dan ROM alamat-awal. Ini merupakan keuntungan besar jika anda mencoba memperbaiki peralatan yang telah dijual sebelumnya. DAFTAR ISTILAH Akumulator Tempat dimana jawaban-jawaban operasi aritmetik dan logika disimpan. Kadang-kadang disebut register A. Bahasa asembli Mnemonik yang dipakai dalam penulisan sebuah program Bahasa mesin Deretan “kata” terdiri dari 0 dan 1 yang dipakai dalam sebuah program. Keadaan alamat keadaan T1. Selama keadaan ini, alamat didalam pencacah program dipindahkan ke MAR. Instruksi acuan (rujukan ) memori. Sebuah instruksi yang memerlukan operasi memori kedua untuk mengakses data. Keadaan memori Keadaan T3. Selama keadaan ini, instruksi didalam memori dipindahkan keregister instruksi. Keadaan penambahan Keadaan T2 selama keadaan ini, sehingga pencacah program dinaikkan atau (ditambahkan). Kode operasi (opcode). Bagian instruksi yang memberitahu komputer tentang operasi yang harus dilaksanakan LDA. Mnemonik dari instruksi mengisi (load) akumulator. Makroinstruksi Salah satu instruksi didalam perangkat instruksi. MAR Memory address register (register alamat memori). Register ini menerima alamat data yang hendak diakses didalam memori. MAR memberikan alamat ini ke memori Mikroinstruksi Kata - kendali yang berasal dari pengendali – pengurut. Ini merupakan langkah terkecil dam pemrosesan data. Nop No operation (tanpa operasi) . Suatu keadaan tanpa kejadian apapun. Pencacah program Register yang mencacah dalam bilangan biner. Isinya merupakan alamat instruksi berikutnya yang harus diambil dari memori. Perangkat instruksi Kumpulan semua instruksi yang dimengerti yang ditanggapi oleh komputer. Program obyek Program yang yang dituliskan dalam bahasa mesin. Program sumber Program yang ditulis dalam bentuk Mnemonik RAM Random access memory nama yang lebih baik adalah memori baca-tulis. RAM menyimpan program dan data yang dibutuhkan untuk operasi komputer register B Register pembantu yang menyimpan data untuk dijumlahkan pada atau dikurangkan isi akumulator. Register instruksi Register yang menerima instruksi dari memori. Register keluaran Register ini menerima data yang telah diproses dari akumulator dan menggerakkan peraga keluaran dari SAP-1. Disebut juga bandar keluaran. Siklus instruksi seluruh keadaan yang diperlukan guna mengambil dan mengeksekusi sebuah instruksi. Siklus mesin Semua keadaan yang dibangkitkan oleh pencacah putar (lingkar) Siklus pengambilan Bagian pertama dari siklus instruksi. Selama siklus pengambilan, alamat dikirim ke memori dan angka pencacah program ditingkatkan, dan instruksi dipindahkan dari memori ke register instruksi. BAB III PENUTUP A. KESIMPULAN SAP-1 merupakan tahap pertama dalam evolusi kearah pengembangan komputer-komputer modern. Sekalipun masih terhitung primitif, pemahaman SAP-1 sudah merupakan suatu langkah besar bagi seorang pemula. Jadi dalam bahan yang disajikan dalam bab ini, kuasai SAP-1, baik arsitekturnya, cara pemrogramannya, maupun rangkaiannya. Setelah ini, anda akan siap untuk mempelajari komputer SAP-2. Unit kendali SAP-1 mengandung pencacah program, register instruksi, dan pengendali-pengurut yang menghasilkan kata kendali, sinyal-sinyal CLEAR, dan sinyal detak. ALU SAP-1 terdiri dari sebuh akumulator, sebuah penjumlah-pengurang, dan sebuah register B. Memori SAP-1 memiliki MAR dan sebuah RAM 16 x 8. Unit I/O mengandung saklar pemrograman masukan, bandar keluaran, dan peraga biner. Kita sebentar lagi akan melakukan analisis dari diagram skematiks dari komputer SAP-1, akan tetapi sebelumnya eksekusi dari instruksi-instruksi SAP-1 perlu dirangkumkan dalam sebuah tabel yang rapi yang dinamakn mikro program.

Tidak ada komentar:

Posting Komentar