Rutin SUB
Rutin Sub serupa dengan rutin ADD. Gambar 10-6a dan b melukiskan bagian-bagian yang aktif dari SAP-1 selama keadaan T4 dan T5. Selamna keadaan T6 , SU yang tinggi disalurkan kepada bagian penjumlah-pengurang dari gambar 10-6c. Diagram pewaktuan yang bersangkutan hampir identik dengan gambar 10-7. Bayangkan bahwa SU rendah selama keadaan T1 sampai T5 dan SU menjadi tinggi selama keadaan T6.
Rutin Out
Andaikan bahwa register instruksi berisi instruksi OUT pada akhir sebuah siklus pengambilan. Maka medan instruksi akan memasuki pengendali-pengurut guna pendekodeannya. Kemudian pengendali-pengurut mengeluarkan kata-kendali yang diperlukan mengeluarkan isi akumulator ke register keluaran.
Gambar 10-8 Keadaan T4 instruksi OUT
Gambar 10-8 memperlihatkan bagian-bagian aktif dari SAP=1 selama eksekusi dari sebuah instruksi out. Sehubungan dengan EA dan O yang aktif, tepi positif berikutnya dari sinyal detak akan memindahkan isi akumlator ke register keluaran selama keluaran T4. Pada keadaan T5 dan T6 tidak terjadi operasi (nop).
Dalam gambar 10-9 ditunjukkan diagram pewaktuan untuk rutin pengambilan dan rutin OUT. Sekali lagi, siklus pengambilannya sama : keadaan alamat, keadaan penambahan dan keadaan memori. Selama keadaan T4, EA dan O aktif ; dan kata akumulator dipindahkan keregister keluaran pada waktu tibanya tepi positif dari pulsa detak.
Gambar 10-9 Diagram Pewaktuan untuk Rutin OUT
HLT
instruksi HLT tidak membutuhkan rutin kendali karena tidak sebuahpun register terlihat dalam eksekusi dalam eksekusi instruksi bersangkutan. Bilamana IR berisi :
IR = 1111 XXXX
Medan instruksi 1111 akan memberi tahu pengendali-pengurut untuk menghentikan pemrosesan data. Pengendali-pengurut memberhentikan operasi komputer dengan menghentikan detak (rangkaiannya akan dibahas kemudian.
Siklus mesin dan siklus instruksi
SAP-1 memiliki enam keadaan T (tiga untuk pengambilan dan tiga untuk eksekusi). Enam keadaan tersebut dinamakan satu siklus mesin (lihat gambar 10-10a). Komputer membutuhkan satu siklus mesin untuk mengambil dan melaksanakan setiap instruksi. Pendetak SAP-1 berprekuensi KHz yang ekivalen dengan periode 1 ms. Dengan demikian, satu siklus mesin SAP-1 memerlukan waktu 6 ms. Mesin SAP-1 memerlukan waktu 6 ms.
Gambar 10-10. (a) Siklus Instruksi SAP-1 (b) Siklus Instruksi untuk Dua siklus Mesin
SAP-2 agak berbeda dari SAP-1 karena beberapa dari instruksinya memerlukan lebih dari satu siklus mesin untuk pengambilan dan eksekusinya gambar 10-10b memperlihatkan diagram pewaktuan bagi instruksi yang memerlukan dua siklus mesin. Tiga keadaan T yang pertama adalah siklus pengambilan ; namun untuk eksekusinya diperlukan sembilan keadaan T berikutnya. Ini disebabkan oleh karena instruksi dua-siklus mesin lebih rumit sehingga memerlukan keadaan T ekstra untuk menyelesaikan eksekusinya.
Jumlah keadaan T yang diperlukan guna mengambil dan melaksanakan sebuah instruksi dinamakan siklus instruksi (instruktion cycle) . Dalam SAP-1, siklus instruksi sama dengan siklus mesin. Dalam SAP-2 dan mikrokomputer yang lain, siklus instruksi bisa sama dengan dua siklus mesin atau lebih, seperti ditunjukkan pada gambar 10-10b.
Siklus instruksi untuk 8080 dan 8085 memerlukan satu sampai lima sikklus mesin (ini akan dibahas lebih lanjut kemudian).
_________________________________________
CONTOH 10-5
Pedoman pemrograman 8080/8085 menyebutkan bahwa komputer memerlukan tiga belas keadaan T guna mengambil dan melaksanakan instruksi LDA. Jika detak sistem berfrekuensi 2,5 MHz, berapa lama siklus instruksi itu ?
JAWABAN
_________________________________________
Periode detak sama dengan
T =
|
1
|
=
|
1
|
= 400 ns
|
f
|
2,5 MHz
|
Jadi, setiap keadaan T berlangsung selama 400 ns. Karena dibutuhkan tigabelas keadaan T untuk mengambil dan melaksanakan intruksi LDA, maka siklus instruksi berlangsung selama
13 x 400 ns = 5.200 ns = 5,2 s
_________________________________________
Contoh 10-6
Gambar 10-11 memperlihatkan enam keadaan T dari SAP-1. Tepi positif dari pulsa detak muncul pada pertengahan setiap keadaan T. Mengapa hal ini penting ?
JAWABAN
____________________________________
SAP-1 adalah sebuah komputer berorganisasi – bus (tipe yang umum dewasa ini ). Ini memungkinkan register-registernya untuk berkomunikasi melalui bus-W. Akan tetapi pengisian yang dapat diandalkan dari sebuah register hanya terjadi bilamana waktu siap (set up time) dan waktu tahan (hold time) memenuhi syarat tertentu. Menunggu setengah siklus sebelum melakukan pengisian register sudah memenuhi syarat bagi waktu siap; dan menunggu setengah siklus sesudah pengisian register memenuhi pula syarat bagi waktu tahannyanya. Inilah sebabnya mengapa positif dari pulsa detak dirancang supaya tiba tepat pada pertengahan set up siklus T (gambar 10-11)
Gambar 10-11. Tepi-tepi Positip Pulsa Detak (Pertengahan Periode Detak)
Selain itu masih terdapat alasan lain bagi penundaan selama setengah siklus sebelum pengisian suatu register. Pada waktu masukan ENABLE dari suatu register yang mengirimkan data sedang aktif, tiba-tiba isi register ini terdampar di bus W. kapasitansi sesat (liar) dan induktansi mendahulu yang timbul akan mencegah saluran bus dari tercapainya tingkat tegangan yang tepat secara sesaat. Dalam perkataan lain, pada bus W terjadi keadaan transien dan harus menunggu sampai berakhirnya proses transien ini untuk menjamin keabsahan data pada waktu pengisian. Penundaan setengah siklus seblum me masukkan tepi positif pulsa pendetakan memberi kesempatan kepada data untuk mencapai keadaan mantap sebelum diisikan.
10-6 MIKRO 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.
|