You are on page 1of 41
SAP-1 Arsitektur komputer bergantung kepada penerapannya. Jika komputer mau digunakan secara berbagi waktu (time shared, dipakai pada wakt yang sama oleh banyak orang), maka ia akan berukuran besar, berkemampuan kuat, dan berharga mahal. Sebaliknya, komputer yang diperuntukkan hanya pada satu hal , biasanya berukuran kecil, berkemam- puan terbatas, dan murah (seperti mikrokomputer). Komputer SAP (simple as possible, sesederhana mungkin) dirancang untuk kita yakni para pemula. Tujuan utama dari SAP adalah untuk menunjukkan gagasan penting di belakang operasi komputer tanpa membenam kita ke dalam rincian yang tidak kita perlukan. Namun, sekalipun sesederhana seperti SAP, komputer ini banyak meliput konsep maju. Daripada sekaligus membanjiri kita dengan terlalu banyak hal, di sini secara ber- urutan, kita akan memeriksa tiga generasi komputer SAP. AP-1 adalah fasa pertama di dalam evolusi ke arah komputer mutakhir. Sekalipun primitif, SAP-1 adalah langkah besar bagi para pemula. Bacalah sungguh-sungguh bab ini; kuasailah SAP-1, arsitektumya, pemrograman, serta operasi rangkaian intemalnya. Setelah itu kita akan siap untuk SAP-2. 220 8-1. ARSITEKTUR Gbr. 8-1 menunjukkan arsitektur (struktur) SAP-1. Semua register yang keluar ke kirai W adalah tri-status; ini memungkinkan komunikasi dan transfer data secara teratur. Semua keluaran register yang tidak berhubungan dengan kirai W adalah dwi-status; secara terus menerus, keluaran itu menggerakkan petak yang berhubungan dengan mereka. Sebagian besar register pada Gbr. 8-1 sudah kita bicarakan di depan. Berikut ini adalah penjelasan singkat dari setiap petak; dan penjelasan terinci menyusul kemudian. Kirai W CpEpL yee LiEiL gE, SyEylgly Gambar 8-1. Arsitektur SAP-1. Pencacah Program Pencacah program (PC) mencacah dari 0000 sampai 1111 yakni setara dengan heksadesimal 0 sampai F. Sebelum setiap kerja komputer, PC di-riset ke 0000. Setelah instraksi di jemput, isi PC dimajukan satu. Karena itu, pada awal setiap putaran jemput, PC telah memegang alamat dari instruksi pada kala itu. Register Alamat Memori Register alamat memori (MAR) menerima alamat biner dari pencacah program. Karena PC mencacah dari 0000 ke atas, maka MAR juga memilih kata ROM yang tersimpan pada alamat heksadesimal 0 ke atas. Perhatikan juga bahwa keluaran MAR adalah dwi- status. Memori Baca-Saja PROM 16 X 8 dapat diprogram secara sakelar; karena itu, dengan menutup dan membuka sakelar, kita dapat menyimpan 16 kata apa saja yang masing-masing be- rukuran 8 bit. Terletak di alamat 0 sampai F, kata itu dilambangkan sebagai RR,R,».uRp- Ketika E, tinggi, kata yang dialamati itu dibaca ke kirai W. Register Instruksi Contoh 7-5 dan 7-6 telah menunjukkan bagaimana instruksi ROM dibaca ke kirai W. Kemudian, setiap instruksi ROM dimuat ke register instruksi (IR) dengan menggunakan L, tinggi dan tepi kunci-waktu positif. Isi register instruksi dipecah menjadi dua kata yang lebih kecil. Empat bit letak tertinggi merupakan keluaran dwi-status yang langsung pergi ke satuan kendali, Se- baliknya, empat bit letak terendah merupakan keluaran tri-status yang dibacakan ke kirai W ketika E, tinggi. Satuan Kendali Satuan kendali (control unit, CON) membuat komputer seperti apa adanya: mesin pengolah data otomatik. Sebelum setiap kerja komputer, CON mengirim sinyal CLR ke register instruksi. dan pencacah program. Sinyal ini menghapus isi instruksi terakhir pada IR serta me-riset PC ke 0000. CON juga mengirim sinyal kunci-wakt ke semua register; sinyal itu mengsin- kronkan operasi komputer serta menjamin terjadinya status intemal yang telah diatur dengan baik. Dengan kata lain, transfer dan ubahan pada semua register, terjadi pada tepi positif dari sinyal kunci-waktu bersama. 222 Bit dari bagian bawah CON membentuk kata kendali 12 bit: CON = CELE L E,L,E,SELgLy Kata ini menentukan bagaimana register berkegiatan pada tepi kunci-waktu positif berikutnya. Misalnya, C, tinggi berarti bahwa isi pencacah program akan dimajukan, E, dan L,tinggi berarti bahwa isi PC dimuat ke MAR, dan sebagainya. CON adalah ibarat dirigen pada simfoni. Ia mensinkronkan dan mengokestra semua penggalan berbeda di dalam komputer SAP-1. Dengan menciptakan berbagai rutin (serupa dengan contoh 7-5 dan 7-9), CON membuat rangkaian menjemput instruksi, memuat akumulator dengan bilangan, menambah dua bilangan, dan sebagainya. Akumulator Bab 6 memperkenalkan akumulator (A) yakni sekelompok flip-flop yang menyim- pan jawaban sementara pada kerja komputer. Pada Gbr. 8-1, akumulator mempunyai dua keluaran. Keluaran dwi-status langsung ke satuan aritmetika logika (ALU). Keluaran tri- status berhubungan dengan kirai W. Karena itu, kata akumulator 8-bit secara terus menerus menggerakkan ALU; kata yang sama tampil di kirai W ketika tinggi. Satuan Aritmetika-Logika (ALU) Satuan aritmetika-logika (ALU) mengandung penambah dan pengurang pelengkap- 2 (jika perlu, lihat kembali bagian 4-7 sampai 4-9). Ketika masukan kurang (S,,) rendah, maka ALU membentuk jumlah aljabar; dengan demikian isinya menjadi ALU=A+B Ketika S, tinggi, yang tampil adalah selisih aljabar: ALU = A+B" (Ingat bahwa pelengkap-2 adalah setara dengan penggantian tanda pada desimal). ALU adalah rangkaian takrempak (tidak berkunci-waktu); ini berarti bahwa isinya dapat berubah sebegitu kata masukan berubah. Ketika E,, tinggi, isi itu tampil pada kirai Ww. Register B L, tinggi dan tepi kunci-waktu positif memuat kata pada kirai W ke register B. Keluaran dwi-status pada register B menggerakkan ALU serta memberikan bilangan yang akan ditambahkan atau dikurangkan dari isi akumulator. 223 Register Keluaran Pada akhir kerja komputer, akumulator mengandung jawaban dari masalah yang disolusikan. Pada saat itu, kita perlu memindahkan jawaban itu ke dunia luar. Di sinilah register keluaran (O) digunakan. Ketika E, dan L, tinggi, maka tepi kunci-waktu positif berikutnya memuat kata akumulator ke register keluaran. Komputer khas-mempunyai beberapa register keluaran yang dihubungkan dengan rangkaian antarmuka untuk menggerakkan alat periferal. Dengan cara ini, data hasil olahan dapat menggerakkan pencetak, tabung sinar-katoda, teletypewriter, dan sebagainya. (Rangkaian antarmuka mencocokkan data ke setiap alat). Tampilan Biner Tampilan biner (D) adalah barisan mendatar delapan dioda cahaya (LED). Karena setiap LED berhubungan dengan satu flip-flop dari register keluaran, maka tampilan biner menunjukkan kepada kita isi dari register keluaran. Karena itu, setelah kita memindahkan jawaban dari akumulator ke register keluaran, maka kita dapat melihat jawaban itu dalam bentuk biner: 8-2. PERANGKAT INSTRUKSI Komputer adalah tumpukan sumberdaya keras yang tak berguna sampai pada saat ada orang yang memprogramkannya. Itu berarti bahwa ada orang yang memuat instruksi Iangkah demi langkah ke dalam memori, sebelum kerja komputer dimulai. Namun, sebelum kita dapat memprogram komputer, kita perlu mempelajari perangkat instruksi-nya yakni operasi dasar yang dapat dilakukan oleh komputer. Berikut ini adalah perangkat instruksi SAP-1. LDA LDA adalah “load the accumulator” atau muat akumulator. Instruksi LDA yang lengkap mencakup kata ROM. LDA R, misalnya, adalah “muat akumulator dengan R,*. Karena itu, jika diketahui R, = 1111 0000 5 maka kerja LDA R, menghasilkan A = 1111 0000 Dengan cara sama, LDA R, menyatakan “muat akumulator dengan R," LDA R, menunjukkan “muat akumulator dengan R, dan demikian seterusnya. ADD ADD adalah instruksi SAP-1 lainnya. Instruksi ADD lengkap mencakup kata ROM. Misalnya, ADD R, berarti “tambah R, ke isi akumulator”; jumlah pada ALU menggan- tikan isi asal di dalam akumulator. Tnilah contoh dengan bilangan. Andaikan desimal 2 berada di dalam akumulator dan desimal 3 berada di dalam register R,. Dengan demikian, A = 0000 0010 R, = 0000 0011 Pada saat mengerjakan ADD R, terjadilah hal sebagai berikut. Pertama, R, dimuat ke dalam register B untuk memperoleh B = 0000 0011 dan hampir pada saat itu juga, ALU membentuk jumlah dari A dan B; ALU = 0000 0101 Kedua, isi dimuat ke dalam akumulator untuk memperoleh A = 0000 0101 Tampak di situ bahwa akhimya akumulator berisikan jumlah, Rutin seperti ini digunakan untuk semua instruksi ADD; kata ROM yang dialamati pergi ke register B dan keluaran ALU ke akumulator. Itu sebabnya mengapa pengerjaan LDA R, menambah R, ke isi akumulator, pengerjaan LDA R, menambah R, ke isi akumulator, dan demikian seterusnya. SUB SUB adalah instruksi lairr lagi dari SAP-1 dan ia juga belum lengkap tanpa kata ROM. Sebagai contoh, SUB R,, berarti “kurangkan R, dari isi akumulator;” selisih yang terjadi pada ALU menggantikan isi asal akumulator. Sebagai contoh nyata, anggaplah desimal 7 berada di dalam akumulator, serta desi- mal 3 berada di dalam register ROM R,. Dengan demikian, A = 00000111 R, = 0000 0011 225 Pengerjaan SUB R, terjadi sebagai berikut. Pertama, R, dimuat ke dalam register B untuk methperolech B = 0000 0011 serta hampir pada saat itu juga, ALU membentuk selisih dari A dan B: ALU = 0000 0100 Kedua, ALU dimuat ke dalam akumulator untuk memperoleh A = 0000 0100 Jadi, akumulator berakhir dengan selisih itu. Rutin demikian itu berlaku bagi semua instruksi SUB; kata ROM yang dialamati pergi ke register B dan keluaran ALU ke akumulator. Itu sebabnya mengapa pengerjaan SUB R, mengurangkan R,, dari isi akumulator, pengerjaan SUB R, mengurangkan R, dari isi akumulator, dan demikian seterusnya. ouT Instruksi OUT memberitahukan komputer SAP-1 untuk mentransfer isi akumulator ke register keluaran, Setelah OUT dikerjakan, kita dapat melihat jawaban dari masalah yang disolusikan itu. HLT HLT menyatakan “halt” atau berhenti, Instruksi ini memberitahukan komputer untuk menghentikan pengolahan data. HLT menandakan akhit program yakni serupa dengan titik mengakhiri kalimat. Pada setiap akhir program SAP-1, kita harus menggunakan instruksi HLT; kalau tidak, kita akan menemukan sampah komputer (Jawaban tanpa arti yang disebabkan oleh pengolahan yang lari). Secara sendirian, HLT sudah lengkap; jadi, ketika menggunakan instruksi HLT, kita tidak perlu mencakupkan kata ROM karena instruksi itu tidak bersangkut paut dengan memori. Instruksi Beracuan Memori LDA, ADD, dan SUB dinamakan instruksi-beracuan -memori (memory feference instruction, MRI); ketika menggunakan instruksi ini, kita perlu mencakupkan kata ROM. Sebaliknya, OUT dan HLT bukanlah MRI karena mereka tidak bersangkut paut dengan memori. 226 Mnemonik LDA, ADD, SUB, OUT, dan HLT adalah perangkat instruksi untuk SAP-1. Ins- truksi singkatan seperti ini disebut mnemonik (pembantu memori). Pada kerja komputer, mnemonik adalah populer karena komputer khas mempunyai ratusan instruksi di dalam perangkat instruksinya. Tabel 8-1 meringkaskan perangkat instruksi SAP-1. TABEL 8-1. PERANGKAT INSTRUKSI Mnemonik Operasi LDA Muat akumulator dengan kata ROM ADD Tambahkan kata ROM ke akumulator SUB Kurangkan kata ROM dari akumulator ouT Muat register keluaran dengan kata akumulator HLT Berhenti CONTOH 8-1. Ini adalah tataolah SAP-1: LDA R, ADD R, ADD R, ADD R, SUB R, ouT HLT ‘Apa yang dilakukan oleh instruksi itu ? SOLUSI Instruksi pertama memuat akumulator dengan R, A=R, Instruksi kedua menambahkan R, ke isi akumulator: A=R,+R, 227 Serupa dengan itu, dua instruksi berikutnya menambabkan R, dan R, : A=R,+R, +R, +R Instruksi SUB mengurangkan R, dari isi akumulator: A=R,+R,+R,+R,-R, Instruksi OUT memuat kata akumulator ke register keluaran; karena itu, tampilan biner menunjukkan D=A Instruksi HLT menghentikan pengolahan data. 8-3. PEMROGRAMAN X pada Gbr. 8-2 adalah sakelar pada panel operator SAP-1. Sakelar itu memrogram isi memori. Sakelar tertutup memuat biner 1; sakelar terbuka, biner 0. Kare:.a ada 16 register ROM, maka kita dapat menyimpan 16 kata pada alamat 0 sampai F. XXXX_XXXX XXXX__XXXX XXXX__ XXXX XXXX__XXXX XXXX__XXXX XXXX__XXXX- Gambar 8-2. Sakelar pemrograman untuk ROM 16 X 8. Untuk memrogramkan kata instruksi dan data ke dalam memori SAP-1, gunakanlah sandi operasi sandi op (operation code) pada Tabel 8-2. Bit sandi op pergi ke empat tempat bit letak tertinggi serta bit alamat ke empat tempat bit letak terendah. 228 TABEL 8-2. SANDI OPERASI +" Mnemonik Sandi Op LDA 0000 ADD 0001 SUB 0010 OUT 1110 HLT Mu Beginilah caranya memrogram LDA R, ke register R,. Sandi op untuk LDA adalah 0000, serta alamat biner untuk R, adalah 1111. Karena itu, kita harus memrogram sakelar pada register R, seperti ini: bu-bu-bu-bu tu-tu-tu-tu Karena bu (buka) memuat biner 0 serta tu (tutup) memuat biner 1, maka register R, telah diprogram dengan kata R, = 0000 1111 (LDA R,) Bagaimanakah caranya kita memrogram ADD R, ke register R, dan SUB R, ke register R, ? Sekali lagi tempatkanlah bit sandi-op di tempat letak tertinggi dan bit alamat di tempat letak terendah. Setelah sakelar selesai diprogram, maka kata tersimpan menjadi R, = 0001 1110 (ADD R,) R, = 0010 1101 (SUB R,) Instruksi OUT dan HLT tidak menggunakan bit alamat; karena itu, kita dapat mengabaikan sakelar pada tempat letak terendah. Sebagai miisal, untuk menyimpan OUT di register R, dan HLT di register R,, aturlah sakelar schingga R, = 1110 XXXX R, 1111 XXXX 6 Karena bit alamat tidak digunakan, maka sakelar letak terendah boleh saja terbuka atau tertutup. 229 CONTOH 8-2. Bahasa mesin merupakan kata biner yang ditanggap oleh komputer tertentu. Ter- jemahkanlah contoh 8-1 ke bahasa mesin SAP-1 serta simpanlah instruksi berbentuk sandi itu ke alamat heksadesimal 0 ke atas. SOLUSI Apa yang harus kita lakukan adalah mengganti mnemonik dengan bit sandi-op serta kata ROM dengan bit alamat. Misalnya, LDA R, diterjemahkan menjadi 0000 1001. Setelah menerjemahkan seluruh program pada contoh 8-1 serta memuatya ke dalam ROM, kita memperoleh R, = 0000 1001 (LDA R,) R, = 0001 1010 (ADD R,) R, = 0001 1011 (ADD R,) R, = 0001 1100 (ADD R,) R, = 0010 1101 (SUB R,) R, = 1110 XXXX (our R, = 1111 XXXX (HLT) Sementara itu, setiap program seperti di atas yakni yang ditulis dalam bahasa mesin, dinamakan program-tujuan. Program asalnya, dengan mnemonik dan kata ROM, dina- makan program sumber. Pada SAP-1, ketika memrogram sakelar ROM, operator mener- jemahkan program sumber ke dalam program tujuan. Hal terakhir. Empat bit letak tertinggi pada instruksi bahasa mesin di SAP-1 menun- jukkan operasi serta empat bit letak terendah memberikan alamat; mulai dari sekarang, kita akan menyebut letak tertinggi itu sebagai ruas instruksi serta letak terendah sebagai Tuas alamat. Secara lambang, R, = XXXX XXXX Ruas insti Ruas alamat CONTOH 8-3. Bagaimana caranya kita dapat menyederhanakan wajah program sumber yang di- berikan pada Contoh 8-1 ? 230 SOLUSI R pada setiap instruksi beracuan memori adalah informasi yang berlebihan. Dengan kata lain, ketika kita melakukan terjemahan ke dalam bahasa mesin, yang kita perlukan hanyalah subskripnya. Misalnya, LDA 9 memberikan informasi yang sama dengan yang diberikan oleh LDA R,. Dengan menghilangkan semua R dari instruksi beracuan memori, program sumber pada contoh 8-1 menjadi LDA 9 ADD A ADD B ADD C SUB D OUT HLT Inilah praktek baku di kalangan orang komputer; mulai dari sekarang, kita akan menulis program sumber seperti itu. CONTOH 8-4. Bagaimana kita memrogram SAP-1 untuk mensolusi soal aritmetika ini ? 16 + 20 + 24 + 28 — 32 SOLUSI Kita dapat menggunakan program dari contoh terdahulu, asalkan desimal 16 dimuat ke register R,, desimal 20 ke register R,, desimal 24 ke register R,, dan demikian seterusnya. Setelah memrogram sakelar ROM, kata memori menjadi R, = 0000 1001 (LDA 9) R, = 0001 1010 (ADD A) R, = 0001 1011 (ADD B) R, = 0001 1100 (ADD ©) R, = 0010 1101 (SUB D) R, = 1110 XXXX (OUT) R, = 1111 XXXX (HLT) R, = 0001 0000 (16,) R, = 0001 0100 20,,) R, = 0001 1000 24,.) R, = 0001 1100 Q8,.) R, = 0010 0000 G2, 231 Perhatikan bahwa program disimpan lebih dahutu dari data. Instruksi program yang pertama disimpan di register R,, serta sisa instruksi disimpan ke alamat berurutan, Pada SAP-1, ini adalah penting karena pencacah program dimulai dari alamat biner 0000. Karena PC berisikan alamat dari instruksi yang akan diambil berikutnya dari memori, maka kita harus memuat program lebih dahulu dari data. Sementara itu, komputer bersimpan-program adalah komputer yang program tujuan- nya tersimpan di dalam memori sebelum komputer itu bekerja. SAP-1 adalah contoh dari komputer bersimpan program. Ia menggunakan pemrograman melalui sakelar panel depan yakni cara terlambat untuk memuat program ke dalam memori komputer. CONTOH 8-5. Pada program di contoh terdahulu, tunjukkan isi akumulator setelah lima instruksi pertama dikerjakan. Tunjukkan juga isi register keluaran setelah instruksi OUT diker- jakan, SOLUSI Demi kemudahan, program sumber ditulis ulang bersama dengan data desimal: R, = LDA9 R, R, R, 7 R, R, R, R, Ry Ry R, = 28, R, = 32, (Pada persamaan ini, tanda = menyatakan “setara dengan”). Setelah LDA 9 dikerjakan, isi akumulator adalah ‘A = 0001 0000 (16,,) Pengerjaan ADD A memberikan A = 0010 0100 (36,,) Setelah ADD B dikerjakan, A = 0011 1100 (60,,) Ketika ADD C dikerjakan, A = 0101 1000 (88,,) Pengerjaan SUB D memberikan A = 0011 1000 (56,,) Akumulator berisikan jawaban soal itu. Setelah OUT dikerjakan, isi register keluaran adalah © = 0011 1000 (56,) Dan sampai di sini, HLT menghentikan pengolahan data. 8-4. PUTARAN JEMPUT Satuan kendali adalah kunci bagi operasi otomatik pada komputer. Setelah program dan data dimuat ke dalam memori, maka sinyal mulai menyerahkan pengendalian ke CON, F -mudian, satuan ini membuat kata kendali yang selanjutnya menjemput dan mengerjakan setiap instruksi. Sementara setiap instruksi dijemput dan dikerjakan, komputer melewati berbagai fasa mesin yakni ketika isi register berubah. Coba kita cari lebih banyak informasi tentang fasa itu. Pencacah Gelang Pencacah galang pada Gbr. 8-3a (bagian dari satuan kendali SAP-1) mempunyai keluaran T =T,1,1,1,1,T, Pada awal kerja komputer, kata gelang adalah T = 000001 233 Tepi kunci-waktu negatif berurutan menghasilkan kata gelang T = 000010 T = 000100 T = 100000 cK Gambar 8-3. Pencacah gelang. (a) Lambang. (b) Pulsa kunci-waktu dan pengaturan waktu. 234 Kemudian, pencacah gelang me-riset ke 000001 serta putaran itu terulang lagi. Setiap kata gelang menyatakan satu fasa mesin. Gbr. 8-3 menunjukkan pulsa pengaturan waktu yang keluar dari pencacah gelang. Fasa pertama T, dimulai dengan tepi kunci waktu negatif serta berakhir pada tepi kunci waktu negatif berikutnya. Selama fasa itu, bit T, dari pencacah gelang adalah tinggi. Selama fasa berikutnya, T, tinggi; fasa berikutnya lagi mempunyai T, tinggi; kemu- dian T, tinggi, dan demikian seterusnya. Seperti tampak di situ, pencacah gelang meng- hasilkan enam fasa. Setiap instruksi dijemput dan dikerjakan dalam enam fasa itu. Fasa Alamat Fasa 7, dinamakan fasa alamat karena pada fasa ini alamat di dalam PC di- pindahkan ke MAR. Gbr. 8-4a menunjukkan bagian komputer yang aktif selama fasa ini. (Bagian aktif, terang; tidak aktif, gelap). PC 5 'u— mar ‘CON IN (a) Gambar 8-4, Rutin jemput. (a) Fasa alamat. (b) Fasa memori. (c) Fasa cacah naik. Pada fasa alamat, E, dan L, tinggi; semua bit kendali lainnya rendah, Ini berarti bahwa pada fasa ini, CON sedang mengirim kata kendali CON = GElyE, LELE, SyEyLyLo = 0110 0000 0000 Fasa Memori Gbr. 8-4b menunjukkan bagian aktif dari SAP-1 pada fasa T,. Fasa ini dinamakan fasa memori karena instruksi ROM yang dialamati, dipindahkan dari memori ke regis- ter instruksi. Pada fasa memori, CON menghasilkan kata kendali CON = GELyE, LEL,E, SyEpbsto = 0001 1000 0000 Seperti tampak di situ, bit Z, dan L, tinggi. Fasa Cacah Naik Fasa T, dinamakan fasa cacah naik karena pada fasa ini, isi pencacah program bertambah satu, Gbr. 8-4c menunjukkan bagian aktif SAP-1 pada fasa cacah naik itu. Pada fasa ini, satu-satunya bit tinggi adalah C, sedangkan kata yang keluar dari CON adalah CON = GEE, LELE, SyEvbato = 1000 0000 0000 Putaran Jemput Fasa alamat, memori, dan cacah naik merupakan putaran jemput dari SAP-1. Pada putaran jemput, CON mengirim tiga kata kendali seperti yang telah dikemukakan. Tabel 8-3 mengulangi rutin kendali itu. TABEL 8-3. RUTIN JEMPUT Fasa CE pyle LBL E, — SeEvkaLo Efek T, (alamat) 0110 0000 0000. = MAR = PC T, (memori) 0001 1000 0000 R=R, , T, (cacah naik) 1000 0000 0000 Cacah naik PC Pada fasa alamat, E, dan L,, tinggi; ini berarti bahwa PC men-set MAR melalui kirai W. Seperti ditunjukkan pada Gbr. 8-3b, tepi kunci-waktu positif terjadi di tengah jalan fasa alamat; MAR dimuati dengan isi dari PC. Pada fasa memori, E, dan L, tinggi. Karena itu register ROM yang dialamati, men- set register instruksi melalui kirai W. Di tengah jalan pada fasa memori, tepi kunci-waktu positif memuat IR dengan instruksi ROM yang dialamati itu. 236 Pada fasa cacah naik, C, adalah satu-satunya bit kendali yang tinggi. PC di-set untuk mencacah tepi kunci-waktu positif. Di tengah jalan pada fasa cacah naik ini, tepi kunci- waktu positif mencapai PC serta memajukan isinya dengan satu. 8-5. PUTARAN KERJA Tiga fasa berikutnya (T,,T, dan T,) adalah fasa kerja SAP-1. Pemindahan register pada fasa kerja ini tergantung kepada instruksi yang dilakukan. Misalnya, LDA 9 memerlukan pemindahan register yang berbeda dari yang diperlukan oleh ADD B. Berikut ini adalah rutin kendali bagi instruksi berbeda pada SAP-1. Rutin LDA Untuk pembahasan nyata, coba kita anggap bahwa register instruksi sudah dimuati LDA 9: IR = 0000 1001 4y-Tag te IR & ‘CON IN (a) Gambar 8-5. Rutin LDA.. (a) Fasa kerja pertama. (b) Fasa kerja kedua. (c) Fasa kerja terakl Pada fasa T,, ruas instruksi 0000 pergi ke CON dan di situ, ia didekode; ruas alamat 1001 dimuat ke MAR. Gbr 8-5a menunjukkan bagian aktif pada SAP-1 selama masa kerja itu. Perhatikan bahwa E, dan L, tinggi; semua bit kendali lainnya rendah. Pada fasa kerja kedua (T,) E, dan L, tinggi. Ini berarti bahwa pada tepi kunci-waktu positif berikutnya, kata data di dalam ROM yang dialamati, akan dinuat ke akumulator Gihat Gor. 8-5b). 237 T, adalah fasa tak berbuat apa-apa. Pada fasa kerja ketiga ini, semua register tidak | aktif (Gbr. 8-3c). Ini berarti bahwa CON sedang mengirim kata berisikan O semua. Tabel 8-4 meringkaskan rutin kendali yang diperlukan untuk melaksanakan instrksi LDA. Fasa kerja pertama mengirim ruas alamat di dalam register instruksi ke | MAR. Fasa kerja kedua memuat kata data yang dialamati itu, ke akumulator. Fasa kerja ketiga hanya melewati waktu; ia tidak berbuat apa-apa. | TABEL 8-4. RUTIN LDA Fasa CE glyE_ LjEjL,E, SyEylgly Efek T, 0010 0100 = 0000. «Ss MAR = ALAMAT T, 0001 0010 = 0000, A= Ryranar T, 0000 = 0000S (0000S Tak berbuat apa-apa Rutin ADD ‘Andaikan pada akhir putaran jemput, register instruksi mengandung ADD B: IR = 0001 1011 Pada fasa kerja pertama (T,), ruas instruksi pergi ke CON dan ruas alamat ke MAR Gibat Gbr. 8-6a). Pada fasa ini, EZ, dan L,, tinggi. L Gambar 8-6. Rutin ADD dan SUB. (a) Fasa kerja pertama. (b) Fasa kerja kedua. (c) Fasa kerja ketiga. | Bit kendali E, dan L, adalah tinggi pada fasa kerja berikut (T,). Ini memungkinkan kata data yang dialamati, men-set register B (Gbr. 8-6b). Seperti biasanya, pemuatan 238 terjadi pada tengah jalan fasa itu ketika tepi kunci-waktu positif mencapai CLK pada register B. Pada fasa kerja ketiga (T,) E,, dan L, tinggi; karena itu, ALU men-set akumulator (Gor. 8-6c). Di tengah jalan fasa ini, tepi kunci-waktu positif memuat jumlah ke akumu- lator. ‘Sementara itu, waktu siap dan waktu tangguh rambatan mencegah akumulator berpacu pada fasa kerja terakhir. Pada Gbr. 8-6c, ketika tepi kunci-waktu positif tiba, isi akumu- lator berubah dan memaksa isi ALU untuk berubah. Isi ALU yang baru ini kembali ke masukan akumulator. Namun, isi ALU yang baru ini tidak mencapai akumulator, sebe- lum melewati dua waktu tangguh rambatan setelah tepi kunci-waktu positif (satu untuk akumulator dan satu untuk ALU). Padaa saat itu, sudah terlalu terlambat untuk pen- set-an lagi akumulator. Ini mencegah akumulator berpacu (memuat lebih dari sekali pada tepi kunci-waktu yang sama). Tabel 8-5 meringkaskan rutin kendali yang diperlukan untuk melaksanakan instruksi ADD. Fasa kerja pertama mengirim ruas alamat di register instruksi ke MAR. Fasa kerja kedua memuat kata data yang dialamati, ke register B. Fasa kerja ketiga memuat isi ALU (jumlah) ke akumulator. | TABEL 8-5. RUTIN ADD Fasa CpE,LyE_ LjE,L4E, — SyEybyly Efek ay 0010 0100 0000 MAR = ALAMAT T, 0001 0000 0010 B= Ruayar Ty 0000 0010 0100 A = JUMLAH Rutin SUB Rutin SUB serupa dengan rutin ADD; satu-satunya perbedaan adalah S,, tinggi selama fasa kerja terakhir. Karena itu, Gbr. 8-6a sampai c menunjukkan bagian aktif pada SAP-1 selama ketiga fasa kerja itu (S, tinggi menggerakkan ALU pada Gbr. 8-6c). Tabel 8-6 meringkaskan rutin SUB. Kata kendali pertama mengirim ruas alamat dari register instruksi ke MAR. Kata kendali kedua memuat kata data yang dialamati, ke register B. Kata kendali ketiga memuat isi ALU (SELISIH) ke akumulator. TABEL 8-6. RUTIN SUB Fasa C,EplyE, LjE,L,E, — SyEyLaly Efek T, 0010 0100 0000. = MAR = ALAMAT fT 0001 0000 0010 B= Ry auar T. 0000 0010 1100 A = SELISIH a 239 Rutin OUT Andaikan pada akhir putaran jemput, register instruksi mengandung instruksi OUT. Dengan demikian, IR = 1110 XXXX Ruas instruksi pergi ke CON. Setelah ruas ini didekode, CON mengirim rutin kendali yang diperlukan untuk memuat isi akumulator ke register keluaran. Gambar 8-7. Fasa kerja pertama untuk instruksi OUT. Gor. 8-7 menunjukkan bagian aktif dari SAP-1 selama pengerjaan instruksi OUT. Karena E, dan L, tinggi, maka pada fasa kerja pertama (T,), tepi kunci-waktu positif berikut memuat Kata akumulator ke register keluaran. Fasa kerja selanjumnya (T, dan T,) tidak berbuat apa-apa. Tabel 8-7 menunjukkan rutin OUT. Kata kendali pertama membolehkan akumulator untuk men-set register keluaran melalui kirai W. Dua kata kendali berikutnya tidak melakukan apa-apa kecuali melewati waktu. TABEL 8-7. RUTIN OUT Fasa LEL,E, — SyEvealo Efek eae ae cede T, 0001 0001 OUT =A T, 0000 0010 Tak buat apa-apa T, 0000 0010 0100 Tak buat apa-apa 240 HLT HLT tidak memerlukan rutin kendali karena tiada register yang tersangkut pada pengerjaan instruksi HLT. Jika IR mengandung IR = 1111 XXXX maka ruas instruksi 1111 memberitahukan CON untuk menhentikan pengolahan data. CON menghentikan komputer dengan memadamkan kunci-waktu (rangkaiannya dibahas kemudian). Putaran Mesin SAP-1 mempunyai enam fasa (tiga jemput dan tiga kerja). Enam fasa ini dinamakan putaran mesin (lihat Gbr. 8-8). Diperlukan satu putaran mesin untuk menjemput dan mengerjakan setiap instruksi program; karena itu, panjang waktu kerja komputer ber- banding lurus dengan banyaknya instruksi program. CLK TTL LALA Se Putaran mesin Gambar 8-8. Putaran mesin. CONTOH 8-6. SAP-1 mempunyai kunci-waktu 1 MHz. Berapa langkah putaran mesinnya ? Berapa lamakah kerja komputer untuk suatu program dengan 12 instruksi ? SOLUSI Kunci-waktu mempunyai frekuensi 1 MHz: karena itu periodanya adalah 1 T = 1 mikrodetik 1 MHz 241 Acukan dengan Gbr. 8-3b, maka akan kita lihat bahwa setiap fasa berlangsung selama satu perioda kunci waktu. Karena terdapat enam fasa pada setiap putaran mesin, maka lama setiap putaran mesin adalah 6 mikrodetik. Program dengan 12 instruksi memerlukan 12 putaran mesin untuk merampungkan pekerjaannya, Karena itu, lama kerja komputer adalah 72 mikrodetik. CONTOH 8-7, Gbr. 8-9 menunjukkan enam fasa SAP-1. Tepi kurici-waktu positif terjadi di tengah jalan fasa. Mengapa hal itu penting ? SOLUSI SAP-1 adalah komputer berorganisasi kirai (jenis yang paling umum sekarang ini). Ini memungkinkan registemya berkomunikasi melalui kirai. Sekalipun demikian, pe- muatan yang terandalkan hanya terjadi ketika syarat waktu siap dan waktu tahan kesemuanya terpenuhi (bila perlu, lihat Kembali bagian 5-3). Penungguan setengah gelombang sebelum pemuatan register memenuhi syarat waktu siap: penungguan seten- gah gelombang setelah pemuatan memenuhi syarat waktu tahan. Itu sebabnya mengapa tepi kunci-waktu positif dirancang untuk mencapai register di setiap tengah jalan fasa (Gbr. 8-9). rept tepi+ tepi+ tepi+ epi epi + ; | Yo bt dt 4 CLK Fass Fasa Fasa Fass Fase memori | cacahnak | kerja kegs kena Gambar 8-9. Tepi kunci-waktu positif terjadi di setiay tengah jalan fasa mesin Masih ada alasan lain untuk menunggu setengah gelombang sebelum pemuatan register, Ketika masukan ENABLE pada register pengirim menjadi tinggi. maka isi register ini tiba-tiba dituangkan ke kirai W. Kapasitansi tervecer dan induktansi saluran penghubung mencegah kirai untuk segera mencapai tingkat voltase yang tepat. Dengan kata lain. kita menemukan gejala perubahan (eksponensial. nnging. dan sebagainy a) pada kirai W. Jika 242 kita menghendaki pemuatan yang terandalkan, maka kita perlu menunggu sampai data itu mantap di saluran kirai. Penundaan setengah gelombang itu cukup memadai untuk pemadaman semua gejala perubahan. CONTOH 8-8. Program dan data berikut ini terdapat di dalam memori SAP-1: Ry = 33, Tunjukkan ubahan isi register pada setiap fasa dalam putaran mesin R,. SOLUSI Sebelum SAP -1 dapat mengerjakan program, operator harus menekan tombol CLR. Di antaranya, akibatnya adalah pencacah program di-riset ke 0000. Kemudian operator menekan tombol mulai sehingga komputer mengerjakan program itu, Inilah ubahan isi register pada putaran mesin pertama: T, (linat Gor. 8-4a): MAR = PC = 0000 T, Qihat Gbr. 8-4b): IR = R, = 0000 1100 T, @ihat Gor. 8-4c): PC = 0001 T, Gihat Gor. 8-5a): MAR = ALAMAT = 1100 243 T, (ihat Gbr. 8-5b): A=R, = 0000 1111 T, @ihat Gor. 8-5c): Tidak berbuat apa-apa CONTOH 8-9. Dengan program dan data yang terdapat pada contoh terdahulu, bagaimanakah ubahan isi register pada putaran mesin kedua ? SOLUSI Pada awal putaran mesin kedua, PC berisikan alamat 0001. Inilah ubahan isi regis- ter. T, (ihat Gbr. 8-4a): MAR = PC = 0001 T, ihat Gor. 8-4b): IR = R, = 0001 1101 T, (lihat Gbr. 8-4c): PC = 0010 T, (ihat Gor. 8-6a): MAR = ALAMAT = 1101 T, (ihat Gbr. 8-6b): : B = R, = 0010 0001 T, (ihat Gbr. 8-6c): A = ALU = 0011 0000 244 8-6. SATUAN KENDALI Satuan kendali adalah titik pusat kegiatan komputer. CON harus membuat rutin yang menjemput dan mengerjakan setiap instruksi program. Setelah kita memahami bagaimana CON melaksanakan hal itu, maka kita akan menguasai salah stu konsep yang lebih halus pada komputer. Dekoder Instruksi Analisis CON dimulai dengan ruas instruksi yang tersimpan di dalam IR pada putaran Jemput. Seperti yang ditunjukkan pada Gbr. 8-1 serta dibahas pada bagian 8-1, emps* letak tertinggi pada register instruksi adalah keluaran dwi-status yang langsung pergi k CON. Gbr. 8-10 menunjukkan apa yang terjadi dengan letak tertinggi setelah mereka memasuki CON. Dekoder 1 dari 5 adalah serupa dengan dekoder yang telah kita analisis pada bab terdahulu. Satu tengokan saja sudah menunjukkan bagaimana ia bekerja: LDA adalah satu-satunya keluaran tinggi untuk ruas instruksi 0000, ADD adalah satu-satunya keluaran tinggi untuk 0001. SUB adalah satu-satunya keluaran tinggi untuk 0010, OUT adalah sato-satunya keluaran tinggi untuk 1110, dan HLT adalah satu-satunya keluaran tinggi untuk 1111. Gambar 8-10. Dekoder instruksi. 245 Matriks kendali Sinyal LDA, ADD, SUB, dan OUT dari dekoder menggerakkan matriks kendali pada Gbr. 8-11. Pada waktu yang sama, sinyal pencacah gelang (T, sampai T,) menggerakkan matriks (“Matriks” menggambarkan sebarang rangkaian dwi dimensi yakni yang menerima dua kelompok bit dari sumber yang berbeda). Keluaran matriks adalah CON, yakni kata kendali yang memberitahukan semua bagian, apa yang harus mereka lakukan pada fasa tertentu. Di sinilah rutin jemput (Tabel 8-3) dibuat; di sini pula rutin kerja (Tabel 8-4 sampai 8-7) dihasilkan. Jadi, tampaklah bahwa kita telah sampai ke inti komputer; semua pengolahan data bergantung kepada kegiatan rangkaian ini. Rutin Jemput Pada Gbr. 8-11, T,, menjadi tinggi, kemudian T,, kemudian 7,, dan demikian seterusnya. Analisislah Gbr. 8-11 dan inilah yang kita temukan: T, tinggi menghasilkan bit E, dan L,, tinggi: 7, tinggi menghasilkan bit E, dan L, tinggi; dan T, tinggi meng- hasilkan bit C, tinggi. Karena itu, selama tiga fasa pertama, kata kendali yang keluar dari matriks adalah sama dengan yang tertera pada Tabel 8-3 (rutin jemput). Itu sebabnya mengapa setiap putaran jemput mentransfer isi pencacah program ke MAR; memuat instruksi ROM yang dialamati, ke register instruksi; serta mencacah naik isi pencacah tataolah. Rutin kerja Pada fasa kerja, secara berurutan, T , sampai T, menjadi tinggi. Pada waktu yang sama, hanya satu dari masukan yang didekode (LDA sampai OUT) yang boleh menjadi tinggi; karena itu, secara otomatik, matriks mengemudikan bit tinggi ke saluran keluaran yang tepat. Sebagai misal. ketika LDA tinggi, semua masukan yang didekode adalah rendah. Karena itu, gerbang AND pada Gbr, 8-11 yang enabel hanyalah gerbang pertama, keem- pat, ketujuh, dan kesepuluh, Ketika T, tinggi, maka gerbang AND pertama dan ketujuh akan mempunyai keluaran yang tinggi. yang melalui gerbang OR, memberikan bit tinggi kepada L,, dan E£,. Ketika T, tinggi, maka gerbang AND keempat dan kesepuluh mempunyai keluaran tinggi, yang melalui gerbang OR, meninggikan bit E, dan L,. Ketika T, menjadi tinggi. maka tiada gerbang AND yang menjadi tinggi; karena itu, CON mengandung 0 semuanya karena semua keluaran matriks adalah rendah. Kita baru saja menganalisis kegiatan matriks untuk LDA tinggi serta telah menun- jukkan hal berikut; L,, dan E, tinggi pada fasa T,. E, dan L, tinggi pada fasa T,, serta tiada bit kendali yang tinggi pada fasa T,, Keluaran matriks ini adalah sama dengan rutin LDA (Tabel 8-4). 246 Gambar 8-11. Matriks kendali. Kita perlu menganalisis kegiatan matriks kendali untuk kemungkinan selanjutnya: ADD tinggi, SUB tinggi, dan OUT tinggi. Setclah itu kita dapat menyetujui bahwa matriks kendali dapat membuat rutin ADD (Tabel 8-5), rutin SUB (Tabel 8-6), atau rutin OUT (Tabel 8-7) pada putaran kerja. Bagian 9-7 akan menunjukkan bagaimana matriks kendali itu dirancang, setelah kita mengetahui perangkat instruksi dan register yang akan dikendalikan. Perhatikan bahwa matriks kendali SAP-1 menggunakan 19 gerbang AND dan 6 gerbang OR untuk meng- hasitkan kata CON pada empat instruksi. Ringkasan Gbr. 8-12 menunjukkan dekoder instruksi, pencacah gelang, dan matriks kendali. Empat letak tertinggi dari IR didekode untuk memperoleh keluaran tinggi (LDA, ADD, SUB, OUT, atau HLT). Kecuali HLT, semua sinyal yang didekode menggerakkan matriks kendali. Pencacah gelang CLK TUT % Th . ILI] app A Detoder is tend - Matritsbendai ae HLT a rrrr——S—C=esCiC_CCN Fi ee i Gambar 8-12. Rangkaian yang membuat rutin jemput dan kerja. Interaksi di antara sinyal yang didckode dengan sinyal pengatur waktu dari pencacah gelang menghasilkan berbagai rutin yang diperlukan untuk pengolahan data. Pada pa- ruhan pertama mesin, matriks kendali membuat rutin jemput, dan pada paruh kedua putaran mesin, matriks kendali membuat rutin kerja yang sesuai. Pada Gbr. 8-12, sinyal HLT yang didekode pergi ke masukan CLR dari flip-flop kerja/henti yakni rangkaian yang memadamkan kunci-waktu ketika HLT tinggi. Bagian berikut ini akan membahas flip-flop kerja/henti, bersama-sama dengan beberapa rangkaian 248 tersisa lainnya di dalam satuan kendali SAP-1. 8-7. RANGKAIAN KUNCI-WAKTU Kunci-waktu bekerja pada kerja komputer: ia berhenti ketika HLT tinggi muncul dari dekoder 1 dari 5. Kemudian, kunci-waktu akan terus padam sampai pada saat kerja komputer berikutnya, yakni yang dimulai ketika operator menekan tombol clear dan tombol mulai. Multivibrator Astabil Gbr. 8-13 menunjukkan multivibrator astabil yakni rangkaian yang menghasilkan gelombang persegi. Ketika daya pertama kali diterapkan, maka salah satu transistor lebih dahulu bekerja, bergantung pada beta de mana yang lebih besar. Anggaplah bahwa Q, bekerja lebih dahulu. Voltase kolektomya menurun. Digandengkan melalui kapasitor, ubahan ke arah negatif ini menggerakkan Q, ke titik putus. Q, terus terputus sampai kapasitor mempunyai kesempatan untuk terisi. Setelah satu perioda yang lamanya ditentukan oleh konstanta waktu R,C. Q, akan bekerja dan voltase kolektomya akan menurun. Digandengkan melalui kapasitor, ubahan ke arah negatif ini menggerakkan Q, ke titik putus. Q, terus padam selama jangka waktu yang sama dengan padamnya Q,. Setelah bekerja, putaran itu berulang kembali. Vee & Litas ae ‘| Gambar 8-13. Multivibrator astabil Karena secara bergantian, Q, berada pada titik jenuh dan titik putus, maka voltase kolektomya membentuk gelombang persegi. Analisis matematika membuktikan bahwa frekuensi gelombang persegi ini, kira-kira adalah 249 ee 0,7 ft Pada SAP-1 misalnya, R, = 20 kQ dan C = 33 pF; karena itu, frekuensi gelombang persegi itu, kira-kira adalah f Mas ~~ 200053300) ~ Osilator Kunci-Waktu SAP-1 Gbr. 8-14 menunjukkan multivibrator yang diubah untuk digunakan sebagai osilator kunci-waktu pada SAP-1. Daripada memberi catu listrik, hambatan basis Q, berhu- bungan ke flip-flop FF2. Karena itu, keluaran FF2 yang rendah akan menahan Q, pada titik putus serta Q, pada titik jenuh. Sebaliknya, keluaran FF2 yang tinggi akan 45V Gambar 8-14. Rangkaian kunci-waktu terkendali. 250 memungkinkan osilator kunci waktu untuk menghasilkan gelombang persegi sebesar 1 MHz (nominal). Peserta emiter Q, memberi penguatan serta mengurangi taraf impedansi yakni keadaan yang diperlukan oleh sinyal CLK untuk menggerakkan semua register pada SAP-1. Memulai Kunci-Waktu Mula-mula, operator menekan sakelar tombol tekan clear pada Gbr. 8-14. Kemu- dian, sinyal CLR tinggi me-riset PC ke 0000, IR ke 0000 0000, serta pencacah gelang ke 000001. 0000 pada PC berarti bahwa pengolahan data akan dimulai dari instruksi R, ruas instruksi 0000 pada IR berarti bahwa sinyal HLT yang didekode menjadi rendah dan membebaskan masukan CLR pada FF2; 000001 pada pencacah gelang berarti bahwa Komputer berada pada fasa alamat. Kita harus berhati-hati dalam bagaimana kita memulai kunci-waktu itu. Sakelar mekanik mempunyai kontak yang membal (tutup dan buka yang cepat selama beberapa milidetik sebelum mantap pada kedudukan tutup). Itu sebabnya mengapa dua flip-flop JK dipakai pada Gbr. 8-14 untuk memulai kunci-waktu. Ketika operator menekan tombol tekan mulai, maka sakelar bergandeng pada Gbr. 8-14 bergerak ke bawah. Sakelar di bawah terbuka serta membebaskan masukan CLR pada FFI; sakelar di atas tertutup serta memberikan PRESET kepada FF1. Namun, karena membalnya kontak, sakelar atas bergetar buka dan tutup selama beberapa milide- tik sebelum tertutup secara mantap. Ini berarti bahwa masukan PRESET juga bergetar bergantian di antara rendah dan tinggi. Namun, hanya PRESET tinggi yang pertama yang kita perlukan; ia men-set FF1; semua ubahian selanjutnya pada masukan PRESET tidak lagi berpengaruh. Dengan kata Jain, sekalipun terdapat membalnya Kontak, hanya ada satu tepi kunci-waktu positif bersih yang keluar dari FF1. Tepi kunci-waktu positif tunggal ini mencapai masukan CLK pada FF2 serta memaksanya untuk sekali togel. Karena keadaan terakhir FF2 adalah rendah, maka kini, keluaran FF2 berubah dari rendah ke tinggi serta menghidupkan osilator kunci-waktu. Sinyal CLK terakhir ini memulai transisi ke arah positif. Tepi kunci-waktu positif ini memuat MAR dengan isi PC. Kerja komputer sudah dimulai. Menghentikan Kunci-Waktu Osilator kunci-waktu terus bekerja sampai instruksi HLT dimuat ke IR. Sebegitu muncul IR = 1111 XXXX dekoder instruksi menghasilkan keluaran HLT yang tinggi. Sinyal ini dicatu balik ke masukan CLR pada FF2. Ketika tiba, sinyal itu me-riset FF2 dan menghentikan kunci- waktu. Contoh 8-6 menunjukkan bahwa setiap putaran mesin berlangsung selama 6 mikrode- tik. Karena memori SAP-1 hanya dapat menyimpan 16 kata, maka program yang ter- panjang hanya mengandung 15 instruksi (satu kata disediakan untuk data). Karena itu, kerja komputer yang paling lama adalah hanya 90 mikrodetik. Ketika operator menekan tombol-tekan mulai, maka kerja komputer telah rampung, bahkan pada saat sebelum Kontak berhenti membal. Lebih dari itu, beberapa persepuluh detik dapat berlalu, sebelum operator melepas tekanannya pada tombol-tekan mulai itu. Inu sebabnya mengapa pada Gbr. 8-14, kita memerlukan dua flip-flop untuk memulai dan menghentikan komputer. Flip-flop pertama menghasilkan satu tepi kunci-waktu positif, sekalipun terdapat membalan kontak pada tombol-tekan mulai. Flip-flop kedua memungkinkan sinyal HLT tinggi untuk menghentikan kunci-waktu, sekalipun operator belum melepaskan tekanannya pada tombol-tekan mulai. (Ketika tombol tekan mulai dilepas, FF1 me-riset. Namun, keluarannya yang mengarah ke negatif, tidak berpengaruh terhadap FF2) 8-8. RINGKASAN Gbr. 8-15 meringkaskan rangkaian di dalam satuan kendali. Kalau kita memba- yangkan rangkaian ini di dalam CON pada Gbr. 8-1, maka kita akan mempunyai gam- baran lengkap tentang apa yang ada di dalam komputer SAP-1. Setiap kerja komputer dimulai setelah operator secara berturut-turut, menekan tombol clear dan tombol mulai. Sinyal CLK menggerakkan semua register serta menghasilkan Gambar 8-15. Diagram blok satuan kendali. 252 ubahan register terkendali yang bergantung kepada kata CON yang keluar dari satuan kendali. Putaran jemput mempunyai fasa alamat, fasa memori, dan fasa cacah naik. Pada putaran ini, instruksi berikut di dalam program dimuat ke dalam register instruksi. Setelah ruas instruksi didekode, maka secara otomatik, matriks kendali membuat rutin kerja yang tepat. Pada rampungnya putaran kerja, pencacah gelang me-riset serta putaran mesin berikutnya pun dimulai. Pengolahan data berakhir ketika instruksi HLT dimuat ke dalam register instruksi. Jika kita lupa mencakupkan inst-uksi HLT ke dalam program, maka kita akan mene- mukan sampah komputer yakni jawaban yang tidak memiliki arti sebagai akibat peng- olahan yang lari. CONTOH 8-10. Kita dapat membayangkan SAP-1 sebagai terdiri atas lima bagian datar. Apa saja bagian itu ? Apa pula satuan pengolahan pusat ini ? SOLUSI Perintis komputer, Charles Babbage, menyarankan bahwa komputer dapat dibuat dengan lima bagian utama; masukan, memori, aritmetika, kendali, dan keluaran. Kita dapat membayangkan SAP-1 dalam bentuk bagian dasar itu, sebagai berikut: Masukan — Sakelar pemrograman Memori © — MAR dan ROM Aritmetika — Akumulator, ALU, dan register B Kendali © — CON, PC, dan IR Keluaran © — Register keluaran dan tampilan biner Sebagian besar komputer bersimpan program dapat dibayangkan sebagai terdiri atas lima bagian dasar. Sesungguhnya, bagian aritmetika dan kendali pada mikrokomputer biasanya dipadu pada satu cip dan dinamakan satuan pengolahan pusat (central pro- cessing unit, CPU). Lebih dari ita, bagian masukan dan keluaran sering digandeng menjadi satuan masukan/keluaran. Karena itu, dengan komputer yang lebih kecil, kita cukup membayangkan tiga blok; masukan/keluaran, memori, dan CPU. 253 CONTOH 8-11. Mengapa kalkulator tangan bukanlah komputer bersimpan program 7 SOLUSI Kalkulator murah mempunyai bagian masukan (tombol kunci), bagian aritmetika, dan bagian keluaran (tampilan bilangan), Kalkulator yang lebih mahal mencakup memori. Namun, tiada kalkulator yang mempunyai bagian kendali. tu sebabnya, operator manusia yang harus memasukkan instruksi dan data, semen- tara kalkulasi sedang berlangsung. Dan ini pula yang membuat kalkulator jauh lebih lambat dari komputer. Dengan komputer, semua instruksi dan data disimpan sebelum kalkulasi dimulai; ini membuat komputer lebih cepat, lebih cermat, dan lebih cocok untuk kalkulasi berulang-ulang. Sementara itu, kalkulator yang dapat diprogram, kini sudah dapat kita peroleh. Dengan alat jenis ini, kita dapat menyimpan semua tekanan kunci sebelum kalkulasi dimulai. Setelah data diberikan dan tombol mulai ditekan, maka kalkulasi dilangsungkan secara otomatik. Hal ini dapat didebat orang, namun menurut definisi Babage, kalkulator yang dapat diprogram sesungguhnya adalah komputer bersimpan-program; ia mencakup lima bagian dasar yang diusulkan Babbage, serta program dan data telah dimasukkan se- CONTOH 8-12. Kapan kita lebih menyukai kalkulator daripada komputer ? Kapan komputer lebih disukai ? SOLUSI Jika kita akan mengerjakan soal aritmnetika hanya sekali, maka biasanya, kalkulator Jebih cocok untuk pekerjaan itu karena kita akan memerlukan lebih banyak waktu untuk menulis program komputer dibandingkan dengan hanya menekan tombol kunci kalkula- tor. Pada umumnya, kalkulator biasanya lebih cocok jika instruksi untuk mensolusi soal, hanya dipakai sekali. Sebaliknya, pada sejumlah pemakaian, instruks. yang sama digunakan berulang- ulang; hanya datanya yang berubah. Misalnya, pengerjaan gaji di perusahaan besar mencakup instruksi dasar yang sama (LDA, ADD, SUB, dan sebagainya); hanya data yang berubah (jam kerja, tarif gaji, golongan pajak, dan sebagainya). Untuk alasan ini, satu program yang cocok untuk semua pegawai dapat disimpan di dalam memori komputer; kartu-waktu-berlobang dapat memberikan data pegawai; setelah sinyal mulai, 254 komputer dapat mengerjakan program itu berulang-ulang sampai cek bayaran semua pegawai terkerjakan. Secara ringkas, kalkulator adalah untuk soal aritmetika sederhana ketika kita dapat lebih cepat menekan tombol daripada menulis dan mengerjakan program. Komputer adalah untuk soal ketika kalkulasi harus diulang-ulang. Juga, hampir semua komputer dapat menyelesaikan soal logika; kalkulator tidak. SOAL 8-1. Untuk memuat isi PC ke MAR di Gbr. 8-1, E, dan L,, harus tinggi. Bit kendali manakah yang harus tinggi untuk menghasilkan transfer register berikut ini ? Empat letak terendah pada IR ke MAR Isi ALU ke akumulator Kata ROM yang dialamati ke akumulator Kata ROM yang dialamati ke register B Kata ROM yang dialamati ke register instruksi peeoPp 8-2. “Serempak” berarti “berkunci-waktu”; “takrempak” berarti “tak berkunci-waktu”. Dengan mengabaikan satuan kendali pada Gbr. 8-1, petak manakah yang serem- pak ? Mana yang takrempak ? 8-3. Pada Gr. 8-1, register manakah yang dapat dimuat dengan kata 4-bit ? Register manakah yang dapat dimuat dengan kata 8-bit? 8-4. Jika tampilan biner pada Gor. 8-1 menunjukkan padam-padam-padam-padam hidup- hidup-hidup-hidup maka berapakah isi register keluaran ? 8-5. Mula-mula A =0000 1111 R, = 0000 0110 Jika R, dikerjakan, maka berapakah isi register B ? Isi akumulator ? 8-6. Diketahui A_ = 0001 0010 R, = 0000 1100 maka berapakah isi register B setelah SUB R, dikerjakan ? Jika kerja itu disusul dengan kerja OUT, maka bilangan desimal berapa yang dinyatakan oleh tampilan biner pada Gbr. 8-1 ? 255 8-7. 8-8. 8-9, Andaikan A = 0000 0100 R, = 0000 1100 SUB R,, dikerjakan dan disusul oleh OUT. Bilangan desimal berapa yang dinyatakan oleh tampilan biner pada Gbr. 8-1 ? Terjemahkan setiap instruksi ini ke dalam sandi mesin SAP-1 (sama seperti bahasa mesin): a. OUT b. ADDC c. SUBF d. LDA8 Inilah program dan data: = HLT =8, PARP RPA a. Terjemahkan program dan data itu ke bahasa mesin SAP-1. b. _Ketika kerja komputer sudah selesai, bilangan desimal berapa yang dinyatakan oleh tampilan biner ? 8-10. SAP-1 telah diprogram sebagai berikut: 256 Pp PPA WD PP PP 8-11. 8-12. 8-13. 8-14. 8-16. 8-17. . Pada Gor, 8-4b, isi register aktif, sebelum tepi kunci-waktu pos a. Terjemahkan program sumber ini ke program tujuan. b. _Bilangan biner apa yang ditunjukkan oleh tampilan setelah kerja komputer selesai ? Berapakah tara bilangan desimalnya ? Tulislah program sumber (termasuk data) untuk mensolusi soal pada SAP-1: 24 - 16+ 32-49 + 18 Gunakan alamat B sampai * untuk kata data. Tulislah program tujuan SAP-1 (termasuk data) untuk mensolusi soal terdahul ALU pada SAP-1 adalah penambah dan pengurang pelengkap-2 8-bit; karena it :, bentangan bilangannya terbatas. Pada kerja komputer, bilangan positif terbes xr mana yang dapat dibentuk di dalam ALU ? Bilangan negatif yang terbesar ? (Berikan jawaban dalam biner dan desimal). Pada Gbr. 8-4a, isi PC dan MAR, sebelum tepi kunci-waktu positif, adalah PC=O111 MAR = 0110 Apa isi register itu setelah tepi kunci-waktu positif ? f, adalah MAR = O111 R, = 0011 1100 IR = 0001 1011 Apa isi register ini setelah tepi kunci-waktu positif ? Pada Gbr. 8-4c, isi PC sebelum tepi kunci-waktu positif adalah PC = 0111 Apa isi PC setelah tepi kunci waktu-positif ? Pada awal putaran kerja LDA, inilah isi beberapa register: MAR = 1000 IR = 0000 1100 R, = 0011 0000 A = 0000 0001 257 8-18. 8-19. 8-21. 258 Aculah ke Gbr. 8-5 serta jawablah pertanyaan berikut: a. Apa isi MAR setelah fasa kerja pertama ? b. Apa isi akumulator setelah fasa kerja kedua ? c. Apa isi akumulator setelah fasa kerja ketiga ? Pada awal putaran kerja ADD, isi register adalah MAR = 0110 IR = 0001 1111 R, = 0011 1000 ‘A = 0000 1001 B = 0011 1100 Aculah ke Gbr. 8-6 dan jawablah pertanyaan ini: a. Apa isi MAR setelah fasa kerja pertama ? b. Apa isi register B setelah fasa kerja kedua ? c. Apa isi akumulator setelah fasa kerja terakhir 7 Andaikan kita mengubah frekuensi kunci-waktu SAP-1 menjadi 200 kHz. Berapa lamakah waktu yang diperlukan untuk menjemput dan mengerjakan sembilan instruksi program ? . Suatu komputer mempunayi frekuensi kunci-waktu 10 MHz. Jika putaran mesin- nya mempunyai 10 fasa, berapa lamakah waktu yang diperlukan untuk menjemput dan mengerjakan satu instruksi program ? Delapan instruksi program ? Misalkan register SAP-1 semuanya mempunyai waktu siap dan waktu tahan yang sama, sebagai berikut: tip = 10 nanodetik hace = 10 nanodetik Dengan mengabaikan gejala ubahan pada kirai W, berapakah frekuensi kunci- waktu maksimum yang mungkin untuk operasi yang terandalkan ? . Diperlukan waktu 90 nanodetik untuk padamny- gejala ubahan setelah isi register dibaca ke kirai W. Jika kita memberikan kesempatan 90 nanodetik untuk gejala ubahan serta 10 nanodetik untuk waktu siap, berapakah frekuensi kunci-waktu maksimum yang dapat kita gunakan, jika tepi kunci-waktu positif terjadi di tengah jalan fasa mesin ? 8-23. 8-24. 8-25. 8-26. Ini adalah program SAP-1 berikut datanya: R, =LDAF R, Untuk setiap fasa putaran mesin R,, tunjukkan ubahan isi register (Pengerjaannya menyerupai pengerjaan pada soal 8-8). Ulangi soal terdahulu dengan a. putaran mesin R, b. putaran mesin R, c. putaran mesin R, Dari kiri ke kanan, gerbang AND pada Gbr. 8-11 diberi nomor dari 1 sampai 19. Untuk setiap keadaan berikut, gerbang AND mana yang mempunyai keluaran tinggi ? OUT dan T, tinggi ADD dan T, tinggi ADD dan T, tinggi ADD dan T, tinggi SUB dan T, tinggi SUB dan T, tinggi g. SUB danT, tinggi peasoPp Pada Gbr. 8-12, untuk setiap keadaan berikut ini, bit tinggi mana yang keluar dari matriks kendali ? LDA dan T, tinggi LDA dan T, tinggi LDA dan T, tinggi ADD dan T, tinggi ADD dan T, tinggi ADD dan T, tinggi peaoge 259 8-27. Sama dengan soal terdahulu, kecuali keadaannya adalah SUB dan T, tinggi SUB dan T, tinggi SUB dan T, tinggi OUT dan T, tinggi OUT dan T, tinggi OUT dan T, tinggi peep ge 8-28. Berapakah frekuensi multivibrator astabil seperti pada Gor. 8-13, jika Ry = 50 kQ dan C = 100 pF ? 260

You might also like