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.
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).
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.
10-8 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.
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:
Mengetahui alamat awal dari rutin yang dimaksud
Menelusuri dengan tepat semua alamat dari rutin itu
Memberikan alamat kepada ROM kendali.
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 10-16. Kendali SAP-1 yang dibuat dengan “Micro Programming”
|