Data dan Perintah

                                                               I.            DATA DAN PERINTAH PERINTAH

Dalam hal ini penulis membahasnya secara lebih rinci bagaimana cara kerja komputer itu dan mengapa sebuah PC  dapat mendeteksi apa yang kita inputkan dan bagaimana sebenarnya rangkaiannya tersebut . Dalam pembahasan ini kami akan memperdalam mengenai 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.

1.1.            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.

1.2 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.

1.3  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.

1.4  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.

1.5  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.

 

1.6  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 = CpEpM   11AEA    SuEuBo

Kata ini menentukan bagaimana register-register harus bereaksi terhadap tepi positif sinyal detak berikutnya. Misalnya, Ep tinggi dan 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.

1.7  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.

1.8  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.

1.9  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.

1.10          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).

1.11          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.

                                                            II.            PERANGKAT INSTRUKSI

Komputer merupakan timbunan perangkat-keras yang tak berguna sebelum diprogram operasinya. Ini berarti bahwa sebelum operasi komputer dimulai, instruksi-instruksi harus dimasukkan langkah demi langkah ke dalam memori. Sebelum dapat memprogram sebuah komputer, kita harus mempelajari dahulu perangkat instruksi (instruction set) dari komputer yang bersangkutan, yaitu operasi-operasi dasar yang dapat dilaksanakan. Perangkat instruksi komputer SAP-1 adalah sebagai berikut.

2.1 LDA

Sebagaimana telah disebutkan dalam Bab 9, kata-kata dalam memori dapat diberi lambang R0 R1, R2 dan setetusnya. Artinya, R0 disimpan pada alamat 0H, R1 disimpan pada alamat 1H, R2 disimpan pada alamat 2H, dan seterusnya.
            LDA merupakan singkatan dari “load the accumulator” (artinya = isilah akumulator). Instruksi LDA yang lengkap mengandung alamat heksadesimal dari data yang hendak diisikan. Sebagai contoh: LDA 8H, artinya: isilah akukulator dengan isi dari lokasi memori 8H”.
Umpamanya
                        R8 = 1111 0000
Maka eksekusi instruksi LDA 8H menghasilkan;       
                        A = 1111 0000
            Begitu pula LDA AH berarti: “isilah akumulator dengan isi dari lokasi memori AH”, LDA FH, berarti “isilah akumulator dengan isi dari lokasi memori FH”, dan sebagainya.

2.2 ADD

Add adalah instruksi lain dari SAP-1. Instruksi ADD yang lengkap mengandung alamat dari kata yang hendak ditambahkan. Misalnya, ADD 9H berarti “tambahkan isi dari lokasi memori 9H pada isi akumolator.”, hasil penjumlahan ini akan menggantikan isi akumulator semula.
            Ikutilah contoh berikut ini. Kita umpamakan dalam akumulator tersimpan bilangan desimal 2, dan bilangan 3 desimal menempati lokasi memori 9H. Maka:
            A  = 0000 0010
            R9 = 0000 0011
Selama pelaksanaan instruksi ADD 9H akan berlangsung operasi sebagai berikut. Pertama, R9 disisikan ke dalam register B sehingga:
            B = 0000 0011
Dan pada waktu yang bersamaan, bagian penjumlah-pengurangan melakukan penjumlahan dari A dan B, menghasilkan jumlah
            SUM = 0000 0101
Kedua, hasil jumlahan ini diisikan ke dalam akumulator, sehingga
            A = 0000 0101

            Urutan langkah operasi diatas digunakan untuk semua instruksi ADD; kata Ram yang dialamatkan akan masuk ke dalam register B dan keluaran dari penjumlah-pengurang memasuki akumulator. Dengan demikian, eksekusi instruksi ADD 9H adalah operasi menambahkan R9 pada isi akumulator, dan eksekusi instruksi ADD H berupa operasi menambahkan RF pada isi akumulator, dan sebagainya.

2.3 SUB

Instruksi SAP-1 yang lain lagi adalah SUB. Instruksi SUB yang lengkap disertai alamat dari kata yang hendak dikurangkan. Sebagai contoh, SUB CH berarti “kurangkan isi lokasi memori CH dari isi akumulator”, jawaban selisih yang diberikan oleh bagian penjumlah-pengurang kemudian menggantikan isi akumulator semula.
            Sebagai contoh yang kongkret; misalkan isi akumulator adalah angka desimal 7 dan lokasi memori CH berisi bilangan desimal 3. Maka
            A  = 0000 0111
            Rc = 0000 0011
Pelaksanaan instruksi SUB CH berlangsung sebagai berikut; Pertama, Rc diisikan ke dalam register B untuk memperoleh:
            B = 0000 0011
Pada waktu hampir bersamaan, bagian penjumlah-pengurang dari A dan B menghasilkan selisih:
DIFF = 0000 0100
Kedua, hasil pengurangan ini disimpan dalam akumulator, sehingga isinya menjadi
            A = 0000 0100
            Urutan langkah operasi seperti di atas dipakai oleh semua instruksi SUB; kata RAM yang dialamatkan akan masuk keregister B dan keluaran dari penjumlah-pengurang masuk ke dalam akumulator. Jadi, eksekusi dari insrtuksi SUB CH adalah mengurangkan Rc dari isi akumulator, eksekusi dari instruksi SUB EH adalah mengurangkan RE dari isi akumulator, dan demikian seterusnya.


2.4 Out


Instruksi OUT memberitahu kepada komputer SAP-1 untuk memindahkan isi akumulator ke bandar keluaran. Sesudah instruksi  OUT dilaksanakan, kita dapat melihat jawaban dari persoalan yang sedang diselesaikannya.
            Instruksi OUT ini sudah dalam bentuk yang lengkap; kita tidak perlu menyebutkan alamat tertentu dalam menggunakan OUT sebab instruksi ini tidak berhubungan dengan data di dalam memori.

2.5 HLT


HLT adalah singkatan dari “halt” (berhenti), Instruksi ini memberitahu kepada komputer untuk berhenti memproses data. HLT menandai akhir suatu program, serupa dengan tanda titik di akhir sebuah kalimat. Kita harus menggunakan instruksi HLT pada akhir setiap program SAP-1; jika tidak, kita akan mendapatkan sampah komputer (jawaban yang tak memiliki arti disebabkan proses yang lepas kendali).
            Instruksi HLT sudah merupakan bentuk instruksi yang lengkap; kita tidak perlu menyertakan kata RAM bilamana menggunakan HLT, sebab instruksi tersebut tidak melibatkan memori.

                                                         III.            INSTRUKSI RUJUKAN MEMORI

LDA, ADD, dan SUB disebut instruksi-instruksi rujukan memori (memory-reference instructions) karena semua instruksi yang bersangkutan menggunakan data yang tersimpan dalam memori OUT dan HLT, di pihak lain, bukan instruksi-instruksi rujukan-memori karena mereka tidak melibatkan data yang ada di dalam memori.

3.1 Mnemonik


LDA, ADD, SUB, OUT, dan HLT adalah perangkat instruksi bagi SAP-1. instruksi-instruksi singkat seperti ini disebut mnemonik (mnemonic, artinya pembantu ingatan). Mnemonik sangat popular dalam pekerjaan komputer karena singkatan-singkatan tersebut. Meningkatkan kita kepada operasi yang akan berlangsung pada waktu instruksi dilaksanakan. Tabel 10-1 merangkumkan perangkat instruksi SAP-1.
3.2  8080 dan 8085

8080 adalah mikroprosesor pertama yang dipakai secara luas. Mikroprosesor ini memiliki 72 instruksi. Versi yang telah dikembangkan dari 8080 adalah mikroprosesor 8085, dengan perangkat instruksi yang pada dasarnya sama. Untuk membusat SAP menjadi komputer yang berguna secara praktis, instruksi-instruksi SAP harus dibuat kompatibel ke atas dengan perangkat instruksi 8080/ 8085. Dengan kata lain, instruksi SAP-1: LDA, ADD, SUB, OUT dan HLT adalah instruksi-instruksi 8080/8085. Demikian pula, instruksi-instruksi  SAP-2 dan SAP-3 akan merupakan bagian dari perangkat instruksi 8080/8085. Pemahaman instruksi SAP akan membuat anda siap untuk mempelajari 8080 dan 8085, dua jenis mikroprosesor yang sangat populer. Sekali anda memahami perangkat instruksi 8080/8085, anda dapat beralih kepada mikroprosesor yang lain.


 3.3 PEMROGAMAN

Untuk memasukkan instruksi dan kata-data kedalam  memori SAP-1 kita harus menggunakan kode tertentu yang dapat ditafsirkan oleh komputer. Tabel 10–2 memperlihatkan kode yang dipakai dalam SAP-1. Bilangan 0000 mewakiliki LDA, 0001 untuk ADD, 0010 untuk SUB, 1110 untuk OUT, dan 1111 untuk HLT. Karena  kode-kode ini memberitahu kepada komputer tentang operasi yang harus dilaksanakan. Maka kode yang bersangkutan disebut  kode operasi (operation code) ; disingkat opcode).

            Seperti telah dibahas sebelumnya, saklar-saklar alamat dan data dari gambar 9–7  memungkinkan pemrograman memori SAP-1. Berdasarkan rancangan rangkaian, saklar-saklar tersebut menghasilkan logika 1 untuk posisi keatas (U) dan logika 0 untuk posisi Ke bawah (D). Dalam peprograman saklar data dilaksanakan dengan satu instruksi, kode operasi yang akan diberikan  sebagai nibble  bagian atas, dan operand (pelengkap instruksi ) sebagai nibble bagian bawah.
            Sebagai contoh, misalkan kita akan menyimpan instruksi sebagai Berikut :  alamat dengan instruksi :

Alamat                        Instruksi
0H                                LDA FH
1H                                ADD EH
2H                                HLT
Pertama, ubahlah setiap instruksi kedalam bentuk biner :

LDA FH  = 0000 1111
                                                ADD EH = 0001 1110
                                                HLT        = 1111 XXXX

Dalam instruksi pertama,  0000 adalah kode operasi untuk LDA, dan 1111 adalah ekivalen biner dari FH. Dalam instruksi kedua,  0001 adalah kode operasi untuk ADD, dan 1110 adalah ekivalen biner dari EH. Dalam instruksi ketiga, 1111 adalah kode operasi untuk HLT, dan XX adalah nibble yang  tak diperdulikan karena HLT bukan instruksi rujukan – memori.
            Selanjutnya , susunlah saklar-saklat alamat dan data sebagai berikut : 

                        Alamat                                    Data
                        DDDD                                      DDDD UUUU
                        DDDU                                      DDDU UUUD
                        DDUD                                      UUUU XXXX
Setiap kali setelah selesai menyusun suatu alamat dan kata- data, tekanlah tombol “tulis” (write). Karena D menyimpan biner  0 dan U menyimpan biner 1, tiga lokasi memori yang pertama sekarang mempunyai isi :

                        Alamat                                                Data
0000                                        0000 1111
0001                                        0001 1110
0010                                        1111 XXXX

            Suatu hal lagi yang perlu diketahui dalam penyusunan program adalah bahwa bahasa asembli (assembly language)  menyangkut tata cara penulisan program dan mnemonik, sedangkan bahasa mesin (macine language) menyangkut tata cara penulisan dengan bilangan 0 dan 1, Contoh yang berikut, akan memperjelas perbedaan antara kedua bahasa tersebut.

                                                         IV.            SIKLUS PENGAMBILAN (FETCH CYCLE)

Unit kendali adalah kunci dari pengoperasian komputer secara otomatik. Unit kendali membangkitkan atau mengeluarkan kata-kata kendali untuk mengambil dan melaksanakan setiap instruksi. Pada waktu suatu instruksi diambil dan dilaksanakan, komputer akan melewati beberapa keadaan pewaktuan (timming state: disingkat T state = keadaan T), yaitu periode-periode waktu pada saat mana terjadi perubahan isi-isi register. Berikut ini akan kita pelajari lebih lanjut arti keadaan T tersebut.

Pencacah Putar (Lingkar)
Kita telah mebicarakan pencacah putar SAP-1 (lihat diagram skematik dalam gambar 8-16). Gambar 10-2a melukiskan simbol pencacah lingkar dengan keluaran.

                        T = T6T5T4T3T2T1
Pada permulaan operasi komputer kata lingkar T menunjukkan pulsa detak yang berturut-turut menghasilkan kata-kata lingkar:

                        T = 000010
                        T = 000100
                        T = 001000
                        T = 010000
                                    T = 100000

Kemudian pencacah lingkar direset menjadi 000001, dan siklus yang sama akan berulang. Setiap kata lingkar merepresentasikan satu keadaan T
            Gambar 10-2b memperlihatkan pulsa-pulsa pewaktuan yang dikeluarkan oleh pencacah lingkar. Keadaan T1 berawal pada suatu tepi negatif pulsa detak dan berakhir pada tepi negatif yang berikutnya. Selama keadaan T ini, bit keluarkan T1 dari pencacah lingkar  merupakan tingkat logika tinggi.
            Keadaan-keadaan Y yang selanjutnya berturut-turut T2 tinggi, disusul T3 tinggi, kemudian T4 tinggi, dan seterusnya. Sebagaimana dapat  kita lihat, pencacah putar menghasilkan enam  keadaan T. Setiap instruksi diambil dan dilaksanakan selama enam keadaan T ini.
            Perhatikan bahwa tepi CLK yang positif terjadi dipertengahan setiap keadaan T. Pentingnya hal ini akan dibicarakan kemudian.

4.1 Keadaan Alamat


Keadaan  T1 disebut keadaan alamat (address State) karena alamat didalam pencacah program (PC ) dipindahkan  kepada register alamat memori (MAR) selama keadaan ini.

Gambar 10-3A  memperlihatkan  bagian-bagian komputer yang  aktif  selama keadaan T1  (bagian  aktif digambarkan terang, dan bagian tidak aktif gelap).


            Selama keadaan alamat Ep dan Lm  merupakan  bit-bit  yang aktif ;  sedangkan semua bit kendali yang lain tidak aktif. Ini berarti  selama keadaan  bagian pengendali – pengurut (CON) mengeluarkan kata kendali berbentuk 

CON  =  Cp Ep M             1 1 A EA         Su Eu B o                      
          =   0   1    0    1            1    1    0    0           0   0   1   1
Selama keadaan ini

4.2 Keadaan  Penambahan


Gambar 10-3b memperlihatkan bagian-bagian aktif dari SAP-1 selama keadaan T2. Keadaan ini disebut keadaan penambahan (increment state) karena hitungan pada pencacah program ditingkatkan (ditambah) selama periode ini.  Selama keadaan penambahan bagian pengendali-pengurut menghasilkan sebuah kata-kendali berbentuk :

CON  =  Cp Ep M             1 1 A EA         Su Eu B o                      
          =   1   0    1    1            1    1    1     0            0   0   1   1

Terlihat disini bahwa CP adalah bit yang aktif

4.3 Keadaan Memori


Keadaan T3 disebut keadaan memori (memory state)  karena instruksi pada RAM dengan alamat yang ditunjuk dipindahkan dari memori keregister instruksi.  Gambar  10 –3c melukiskan bagian-bagian aktif dari SAP-1 selama keadaan memori ini.  Selama keadaan ini bit-bit kendali yang aktif hanyalah CE dan L­1, dan  kata yang dikeluarkan oleh bagian pengendali- pengurut adalah 
CON  =  Cp Ep M             1 1 A EA         Su Eu B o                      
          =   0   0   1    0             0    1    1    0           0   0   1   1


4.4  Siklus  pengambilan


Keadaan-keadaan alamat, penambahan, dan memori disebut siklus pengambilan/ penjemputan (Fetch cycle) dari SAP-1. Selama keadaan alamat, EP dan M aktif ini berarti pencacah program mengaktifkan MAR melalui bus W. Dalam gambar 10-2b, tepi positif sinyal detak muncul pada pertengahan keadaan alamat; peristiwa ini digunakan untuk mengisi MAR dengan isi PC.
            CP adalah satu-satunya bit kendali yang aktif selama keadaan penambahan. Pencacah program diaktifkan guna mencacah tepi positif pulsa detak.  Dipertengahan keadaan penambahan, tepi positif sinyal detak diterima pencacah program dan ini meningkatkan cacahan dengan  1 angka .
            Dalam keadaan memori, bit-bit  dan 1 yang aktif. Dengan ini, kata RAM  dengan alamat yang ditentukan mengaktifkan register instruksi bus W. Pada pertengahan keadaan memori, sebuah tepi positif  sinyal detak akan mengisi register instruksi dengan kata RAM tadi.


                                                            V.            SIKLUS EKSEKUSI (PELAKSANAAN)

Tiga keadaan berikutnya (T4, T­5, dan T6) merupakan siklus eksekusi dari SAP-1. Transfer-transfer register yang terjadi selama siklus eksekusi bergantung pada macam instruksi yang sedang dieksekusi. Misalny, LDA 9H memerlukan operasi transfer register yang berbeda daripada ADD BH. Apa yang diuraikan berikut ini adalah rutin kendali (control routine), artinya rangkaian langkah kendali bagi instruksi-instruksi SAP-1 yang berbeda.

5.1 Rutin LDA

Demi kejelasan pembahasan, kita mengandaikan bahwa register intruksi  (IR) telah diisi dengan instruksi LDA 9H:
                        IR = 0000 1001
Selama keadan T4, medan instruksi 0000 dikirim ke dalam pengendali-pengurut yang melakukan pendekodean; sedangkan medan alamat 1001 diisikan  ke dalam MAR, Gambar 10-4a memperlihatkan bagian-bagian yang aktif dari SAP-1 selama keadaan T4. Perlu dicatat bahwa E1 dan LM1 adalah bit-bit yang aktif; dan bit-bit kendali yang lain tidak aktif.

            Selama keadaan T5 bit-bit dan LA menjadi aktif. Ini berarti kata data yang telah dilamatkan dalam memori akan diisi kedalam akumulator pada tepi positif pulsa detak yang berikutnya (lihat gambar 10-4b).
            T6 adalah keadaan tanpa operasi (no-operation; disingkat  Nop). Selama keadaan eksekusi yang ketiga ini semua register dalam kondisi tidak aktif  (gambar 10-4c). Ini berarti bahwa bagian pengendali-pengurut mengeluarkan kata dengan bit-bit yang bersesuaian dengan keadaan tidak aktif. Keadaan T6 dari rutin LDA adalah keadaan Nop.

Ep dan M menjadi aktif : dan tepi positif  detak pada pertengahan keadaan ini akan memindahkan alamat didalam pencacah program  kedalam MAR. Selama keadaan T2, CP yang aktif dan hitungan pada pencacah program  dinaikkan Pada waktu tibanya tepi positif. Selama keadaan T3, dan 1 yang aktif;  ketika muncul tepi positif dari sinyal pewaktu, kata RAM yang ditunjuk alamatnya dipindahkan ke register instruksi. Eksekusi LDA dimulai dengan keadaan T­4, dimana  M dan 1 yang aktif . Pada tepi positif detak, medan alamat didalam register instruksi dipindahkan ke MAR. Selama keadaan T5, dan A  menjadi aktif;  ini berarti kata data RAM  dengan alamat yang ditentukan itu ditransfer kepada akumulator pada tepi positif detak. Sebagaimana diketahui keadaan T6 dari rutin LDA adalah keadaan nop.

5.2 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.

5.3 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 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).

Komentar