BAB 3 UNIT KONTROL
Unit kontrol bertanggung jawab atas terbentuknya operasi yang sesuai dengan instruksi yang terdapat pada program. Eksekusi instruksi dilakukan satu persatu, dimulai dari awal program, langkah demi langkah sampai ke akhir program. Urutan operasi yang dilakukan oleh unit kontrol untuk satu instruksi disebut siklus instruksi. Secara umum terdapat tiga langkah dalam pengolahan instruksi, yaitu : 1. Mengambil instruksi dari memori dan mentransfer ke unit kontrol. 2. Mengartikan instruksi tersebut untuk menentukan apa yang harus dikerjakan dan data apa yang akan digunakan. 3. Mengeksekusi instruksi dengan memilih operasi yang diperlukan dan mengendalikan perpindahan data yang terjadi. III.1 Arsitcktur CPU Arsitektur internal prosesor 8086 diperlihatkan pada Gambar. 3.1. Kecuali pada antrian instruksi (instruction queue), maka unit kontrol dan register kerja dibagi menjadi tiga kelompok sesuai dengan fungsinya. 1. Grup Data, yang terdiri atas 4 register aritmatika. 2. Grup Pointer, yang terdiri atas register basis dan indeks serta PC dan stack pointer. 3. Grup Segmen, yang merupakan registrer fungsi khusus. Grup data terdiri alas register AX, BX, CX, dan DX. Register ini dapat digunakan untuk menyimpan baik operand maupun basil operasi, dan masing-masing register dapat diakses secara 8 bit maupun 16 bit. Selain sebagai register aritmatika, register BX, CX, dan DX juga dapat digunakan untuk pengalamatan, pencacahan dan operasi Input/Output.
Register BX dapat digunakan sebagai register basis dalam perhitungan alamat.
Register CX dapat digunakan sebagai register pcncacah untuk instruksi-instruksi tertentu.
Register DX dapat digunakan untuk menyimpan alamat I/O selema operasi dengan I/O. Kelompok pointer dan indeks terdiri atas register IP, SP, BP, dan DI. Register penunjuk instruksi IP dan SP merupakan register pencacah program (program counter) dan penunjuk stak (stack pointer), tetapi instruksi secara lengkap dan pengalamatan stak dilakukan dengan menjumlahkan isi register tersebut dengan isi dari register CS (code segment) dan SS (stack segment).
Universitas Gadjah Mada
1
BP adalah register basis yang digunakan untuk mengakses stak dan dapat digunakan dengan register lain dan/atau jaraknya (displacement) yang merupakan bagian dari instruksi. Register DI dan SI digunakan untuk pengindeksan. Meskipun dapat digunakan sendiri, tetapi sexing digunakan dengan register BX atau BP dan/atau jaraknya. Kecuali IP, suatu penunjuk (pointer) dapat digunakan untuk memegang suatu operand.
Gambar 3.1 Konfigurasi Internal 8086.
Untuk membuat basis pengalamatan dan pengindeksan yang fleksibel, maka alamat data dibentuk dengan menjumlahkan isi register BX atau BP, isi register DI atau SI, dan suatu jarak (displacement). Hasil penjumlahannya disebut alamat efektif (elective address = EA) atau offset. Alamat akhir data ditentukan oleh EA dan register Data Segmen (DS), Extra Segmen (ES), atau stack segmen yang sesuai. Kelompok register segmen terdiri atas CS, DS, SS, dan ES. Register yang dapat digunakan untuk pengalamatan, yaitu register BX, 1P, SP, BP, dan SI, yang hanya mempunyai lebar 16 bit, sehingga alamat efektifnya hanya mempunyai lebar 16 bit (2' 6 = 65536 alamat). Sedangkan alamat yang diletakkan pada bus alamat atau alamat fisik (physical address) harus dapat menjangkau 1 MB lokasi memori atau mempunyai lebar 20 bit. Untuk itu 4 bit tambahan diperoleh dengan menjumlahkan alamat efektif dengan isi dari salah situ register segmen seperti yang diperlihatkan pada Gambar 3.2 di bawah in i. Penjumlahan dilakukan dengan terlebih dahuulu menambah 4 hit 0 pada sisi kanan data register segmen (atau mengalikannya dengan 1610), sehingga diperoleh hasil Universitas Gadjah Mada
2
sepanjang 20 bit. Contoh, jika (CS) = 123A, dan (IP) = 341B, maka instruksi selanjutnya akan diambil dari alamat :
Gambar 3.2 Pembentukan alamat fisik.
341B 123A0
alamat efektif +
157BB
alamat awal segmen alamat fisik instruksi
(Register yang berada di dalam tanda kurung berarti isi dari register yang bersangkutan, dem ikian pula untuk alamat). Dalam pemakaiannya register segmen membagi ruang memori dalam segmensegmen yang saling tindih (overlapping), yang masing-masing segemn mempunyai panjang 64 Kb, dan dimulai dari suatu alamat yang merupakan faktor dari 16. Oleh karena itu isi dari register segmen biasa disebut dengan alamatr segmen. Alamat segmen yang dikalikan dengan 16 (ditambah 4 buah 0) merupakan awal dari alamat fisik segmen. Gambaran dari eontoh di atas diperlihatkan pada Gambar 3.3(a), dan segmentasi dari keseluruhan memori diperlihatkan pada gambar (b).
(a) Alamat di dalam segmen
(b) Segmen yang saling tindih Universitas Gadjah Mada
3
Gambar 3.3 Perhitungan alamat dan segmentasi memori.
Keuntungan penggunaan register segmen diantaranya adalah : 1. Memungkinkan kapasitas memori menjadi 1 megabyte meskipun alamat yang berhubungan dengan instruksi individual hanya 16 bit. 2. Memungkinkan instruksi, data, atau stak bagian dari program mempunyai panjang lebih dari 64 Kb, dengan menggunakan lebih dari satu segmen kode, data atau stak. 3. Memberikan fasilitas untuk menggunakan area memori untuj suatu program, data, dan stak secara terpisah. 4. Memungkinkan suatu program dan/atau datanya untuk diletakkan di dalam daerah memori yang terpisah setiap kali program dieksekusi. Meskipun panjang segmen 64 Kbyte, mereka dapat dibuat overlap untuk mempertinggi efisiensi pemakaian memori. Pada Gambar 3.4, diperliahtkan suatu program hanya mengisi sebagian dari segmen, maka segmen kode, data atau stak yang lain dapat diletakkan overlap dengan segmen progra, dan alamat awal dari segmen kedua dapat berada di dalam 16 byte dari akhir program. Ruang yang terbuang hanya beberapa byte antara akhir program dan awal program Baru.
Gambar 3.4 Segmen yang overlap.
PSW (Program Status Word) dari 8086 terdiri atas 16 bit, tetapi 7 bit diantaranya tidak digunakan. Setiap bit dalam PSW disebut sebagai bendera (flag). Bendera 88086 dibagi menjadi bendera kondisional, yang merefleksikan hasil operasi sebelumnya di dalam ALU, dan bendera kontrol yang mengendalikan eksekusi dari fungsi-fungsi khusus. Susunan bendera dari PSW diperlihatkan pada Gambar 3.5. Universitas Gadjah Mada
4
Gambar 3.5 Processor Status Word (PSW) 88086.
Bendera kondisional terdiri atas : SN (sign flag); isinya sama dengan bit MSB dari hasil eksekusi. Karena pada bilangan negatif komplemen-2 bit MSB-nya adalah 1, dan bilangan positif sama dengan 0, maka bendera ini menunjukkan apakah basil eksekusi menghasilkan bilangan positif atau negatif. ZF (zeriflag); akan diset 1 jika menghasilkan nol dan 0 jika hasilnya tidak nol. PF (parity flag); akan diset 1 jika jumlah bit 1 hasil, jumlahnya genap, dan diset 0 jika jumlah satunya ganjil. CF (carry flag); bit ini akan diset 1 jika dalam operasi penjumlahan menghasilkan sisa pada MSB (carry), atau dalam operasi pengurangan perlu "meminjam" satu (borrow). AF (auxiliarry carry flag); akan diset jika terjadi sisa pada bit-3 pada operasi penjumlahan atau "pinjam" pada bit-3 selama operasi pengurangan. Bendera ini digunakan khusus untuk operasi aritmatika BCD (binarty coded decimal). OF (overflow flag); diset jika terjadi overflow, yaitu hasil operasi melebihi rentang (range) yang diijinkan. Sebagai contoh untuk operasi penjumlahan berikut ini : 0010 0011 0100 0101 0011 0010 0001 1001 + 0101 0101 0101 1110 maka efek terhadap bendera adalah sebagai berikut : SF = 0
ZF = 0
PF = 0
AF = 0
OF = 0
Untuk bendera kontrol terdiri atas : DF (direction flag); digunakan pada instruksi manipulasi string. Jika 0, maka string diproses dari awal dengan elemen pertama pada alamat paling awal. Jika 1, maka string akan diproses dari alamat tertinggi ke alamat yang lebih rendah. IF (interupt enable flag); jika diset, maka tipe interupsi tertentu (interupsi yang dapat dihalangi / maskable interupt) dapat dilayani CPU. Selainnya interupsi akan diabaikan. TF (trap flag); jika diset, maka trap akan dieksekusi sesudah masing-masing instruksi.
Universitas Gadjah Mada
5
III.2 Operasi Internal Secara umum operasi dari suatu sistem komputer terdiri atas : 1. Mengambil instruksi selanjutnya dari alamat yang ditunjukkan oleh PC. 2. Meletakkan instruksi tersebut dalam register instruksi dan mengartikanuya, sementara PC bertambah satu dan menunjuk pada instruksi selanjutnya. 3. Mengeksekusi instruksi, dan jika terdapat pencabangan akan menset PC ke alamat pencabangan. 4. Mengulangi langkah 1 sampai 3. Operasi 8086 mengikuti pola dasar di atas, tetapi tentu saja terdapat perbedaan dan beberapa operasi mungkin terjadi overlaping. Alamat instruksi selanjutrnya ditentukan oleh penjumlahan dari (IP) dan (CS) x 1610, dan register instruksi berupa antrian 6 byte FIFO (first in first out), yang secara kontinyu terisi jika bus data sistem tidaak memerlukan operasi yang lain. Sifat ini akan meningkatkan kinerja CPU karena banyak waktu yang dapat dihemat dengan telah tersedianya instruksi baru saat eksekusi instruksi yang pertama telah selesai. Jika terjadi pencabangan, maka antrian instruksi akan dikosongkan dan tidak ada waktu yang dapat dihemat, tetapi hal ini rata-rata hanya muncul dalam prosentase yang kecil. Misal waktu yang tersedia untuk mengisi antrian pada instruksi perkalian 8 bit. Instruksi ini membutuhkan paling sedikit 71 siklus clock, tetapi hanya diperlukan 4 siklus clock untuk mengambil kata dari memori. Oleh karena itu selama eksekusi aklan terdapat banyak siklus slosk ekstra dimana bus bebas untuk mengisi antrian instruksi. Meskipun 8086 dapat mengalamati kata (word) yang dimulai baik dari alamat ganjil maupun alamat genap, tetapi untuk alamat ganjil diperlukan dua memori acuan. Satu memori akses diperlukan untuk byte orde rendah dan satu lagi untuk byte orde tinggi. Hal ini berarti bahwa akan menghemat waktu jika kata hanya disimpan pada alamat genap. Meskipun instruksi 8086 mempunyai panjang 1 sampai 6 byte, antrian 6 byte memungkinkan mengambil isntruksi-instruksi dalam kata pada saat yang sama dengan menggunakan alamat genap. Perkecualiannya hanya jika terdapat instruksu pencabangan ke alamat ganjil. Dalam hal ini 8086 akan mengambil 1 byte dan melanjutkannya dengan kata-kata pada alamat genap. Gambar 3.6(a) memperlihatkan bagaimana suatu antrian diisi oleh suatu runtun instruksi dengan susunan sebagai berikut
Universitas Gadjah Mada
6
(a) Instruksi pertama dengan alamat genap.
(b) Instruksi pertama dengan alamat
ganjil Gambar 3.6 Pengisian antrian instruksi sesudah pencabangan. 1 byte instruksi 2 byte instruksi 3 byte instruksi Gambar 3.6(a) dimulai dengan alamat genap, dan gambar (b) untuk urutan yuang sama tetapi dimulai dengan alamat ganjil. Perlu diperhatikan bahwa pada kasus terakhir, byte terakhir instruksi ketiga tidak akan dimasukkan ke antrian sampai tersedia ruang sepanjang kata insruksi pada antrian. III.3 Instruksi Bahasa Mesin Instruksi dalam komputer dibagi menjadi dua kelompok bit. Kelompok pertama disebut operation code atau opcode, yang menunjukkan tindakan apa yang harus dikerjakan komputer, dan kelompok kedua disebut operand, yang menunjukkan informasi yang diperlukan oleh instruksi untuk menyelesaikan tugasnya. Suatu operand dapat berupa data, paling sedikit bagian dari alamat data, penunjuk tidak langsung ke data, atau informasi lain yang mengacu pada data yang diperlukan oleh instruksi. Format instruksi secara umum diperlihatkan pada Gambar 3.7. Instruksi dapat terdiri atas beberapa operand, tetapi semakin banyak operand akan membutuhkan ruang memori yang semakin besar serta waktu yang lama untuk mentransfer setiap instruksi ke CPU. Untuk meminimumkan jumlah bit total dalam suatu instruksi, hampir semua instruksi khususnya pada komputer 16 bit, dibatasi satu sampai dua operand dengan paling sedikit satu opcode dalam instruksi dua operand termasuk register.
Universitas Gadjah Mada
7
Gambar 3.7 Format instruksi secara umum. III.3.1 Mode Pengalamatan Cara bagaimana suatu operand ditentukan disebut mode pangalamatan. Secara umum pengalamatan dapat dibagi menjadi tiga bagian, yaitu : Memori ke memori. Dalam hal ini data berasal dan kembali ke memori, dan tahap operasinya secara umum adalah : 1. Ambil nilai operand dan memori 2. Eksekusi operasi yang diperlukan 3. Kembalikan hasilnya ke memori Memori ke register. Yaitu memindah nilai data dari memori ke register. Satu nilai data berasal dari memori dan satu lagi dari register. Hasil eksekusi dikembalikan ke memori atau ke register dimana operand berasal. Register ke register. Dalam hal ini digunakan sejumlah register untuk menyimpan seluruh nilai data yang akan digunakan dalam komputasi. Data harus diambil dari memori oleh sederet instruksi sebelum komputasi dimulai. Setelah komputasi dilakukan maka hasilnya dikembalikan lagi ke register. Gambar 3.8. memperlihatkan ketiga jcnis operasi tersebut.
Universitas Gadjah Mada
8
Gambar 3.8 Operasi (a) memori-memori, (b) memori - register, (c) register - register.
Gambar 3.9 memperlihatkan jenis mode pengalamatan yang terdapat pada sistem komputer khususnya keluarga IBM PC, yang terdiri atas : Intermediete addressing; panjang data 8 atau 16 bit, dan merupakan bagian dari instruksi. Direct addressing; alamat efektif data 16 bit merupakan bagian dari instruksi. Register addressing; data terdapat di dalam register yang dinyatakan oleh instruksi. Untuk operand 16 bit menggunakan register AX, BX, CX, DX, SI, DI, atau SP, dan untuk operand 8 bit menggunakan register AL, AH, BL, BH, CL, CH, DL, atau DH.
Universitas Gadjah Mada
9
Gambar 3.9 Mode Pengalamatan.
Universitas Gadjah Mada
10
Register indirect addressing; alamat efektif data berada dalam register basis BX atau register indeks yang dinyatakan oleh instruksi, yaitu :
EA = (DI) (SI) Register relative addressing; alamat efektif merupakan hasil penjumlahan dari suatu jarak 8 bit atau 16 bit dan isi register basis atau register indeks, yaitu :
Based indexed addressingi; alamat efektif merupakan hasil penjumlahan register basis dan register indeks, yang masing-masing dinyatakan oleh instruksi, yaitu : (BX)
(SI)
EA = (BP) +
(DI)
Relative based indexed; alamat efektif merupakan hasil penjumlahan dari displacemennt 8 atau 16 bit dan alamat indeks basis, yaitu :
Sebagai contoh, jika (BX) = 0158
(DI) = 10A5
displacement = 1B57
(DS) = 2100
dan DS digunakan sebagai register segmen, maka alamat efektif dan fisik yang dihasilkan dari nilai-nilai tersebut dengan berbagai variasi mode pengalamatan adalah sebagai berikut : Direct :
EA = 1B57 Alamat fisik = 1B57 + 21000 = 22B57
Register :
Tidak ada alamat efektif, data berada dalam register yang ditentukan
Register indirect, misal dengan menggunakan register BX : EA = 01588 Alamat fisik = 0158 + 21000 = 21158 Universitas Gadjah Mada
11
Register relative, dengan menggunakan register BX : EA = 0158 + 1B57 + ICAF
Gambar 3.10 Mode pengalamatan pencabangan.
Alamat fisik = ICAF + 21000 = 22CAF Based indexed dengan mcnggunakan register BX dan DI : EA = 0158+ 10A5 = 11FD
Universitas Gadjah Mada
12
Alamat fisik = 11FD + 21000 = 221FD Relative based indexed dengan menggunakan BX dan DI : EA = 0158 + 10A5 + 1B57 = 2D54 Alamat fisik = 2D54 + 21000 = 23D54
Mode pengalamatan untuk instruksi-instruksi yang mengandung pencabangan diperlihatkan pada Gambar 3.10., yang terdiri atas: Intrasegment Direct. Alamat pencabangan efektif merupakan penjumlahan dari displacement 8 atau 16 bit dan isi dari IP saat ini. Jika panjang displacement 8 bit, maka disebut lompatan pendek (short jump). Mode pengalamatan ini juga biasa disebut pengalamatan relatif, karena displacement dihitung relatif terhadap IP. Mode ini biasa digunakan baik untuk pencabangan bersyarat maupun tidak bersyarat, tetapi untuk pencabangan bersyarat hanya mempunyai displacement 8 bit. Intrasegment indirect. Alamat pencabangan efektif adalah isi dari register atau lokasi memori yang diakses dengan menggunakan mode pengalamatan di atas kecuali mode immediete. Isi dari IP akan diganti oleh alamat pencabangan efektif. Mode pengalamatan ini biasanya hanya digunakan pada instruksi pencabangan bersyarat. Intersegment Direct. Isi IP akan diganti dengan bagian dari instruksi dan isi CS dengan bagian dari instruksi yang lain. Penggunaan mode pengalamatan ini adalah untuk memungkinkan pencabangan dari satu segmen kode ke segmen kode yang lain. Intersegment indirect. Isi dari IP dan CS diganti dengan isi dari dua kata yang berurutan dalam memori yang ditunjukkan dengan menggunakan mode pengalamatan di atas kecuali mode immediete dan register. Perlu diperhatikan bahwa alamat pencabangan fisik merupakan isi IP yang ba' ditambah dengan isi CS yang dikalikan dengan 1610. Pencabangan intersegmen harus tidak bersyarat (unconditional). Contoh berikut ini memperlihatkan bagaimana suatu pencabangan tidak langsung bekerja dengan mode pengalamatan data. Misal (BX) = 1256
(SI) = 258F
Displacement = 20A1
maka : Dengan pengalamatan langsung (direct), alamat pencabangan efektif adalah isi dari : 20A1 + (DS) + 1610 Pada pengalamatan register relatif dengan menggunakan register BX, maka alamat pencabangan efektif adalah isi dari : 1256 + 20A1 + (DS) x 1610
Universitas Gadjah Mada
13
Gambar 3.11 Contoh format instruksi 8086. 111.3.2 Format Instruksi Format instruksi 8086 diperlihatkan pada Gambar 3.11, yang mempunyai panjang bervariasi dari 1 byte sampai 6 byte. Displacement dan data immediete mempunyai panjang 8 bit atau 16 bit tergantung dari instruksinya. Susunan op code dan mode pengalamatan berada pada byte pertama atau kedua dari suatu instruksi. Op code atau mode pengalamatan dapat diikuti oleh
- tidak ada byte tambahan
2 byte EA (hanya untuk pengalamatan langsung) 1 atau 2 byte displacement 1 atau 2 byte immediete operand - 1 atau 2 byte displacement yang diikuti oleh 1 atau 2 byte immediete operand
2 byte displacement dan 2 byte alamat segmen (hanya untuk pengalamatan direct intersegment) Penggunaan dari beberapa kemungkinan di atas ditentukan oleh op code dan mode pengalamatannya. Jika displacement atau immediete operand mempunyai panjang 2 byte, maka cyte orde rendah selalu muncul pertama kali.
Universitas Gadjah Mada
14
III.4 Waktu Eksekusi lnstruksi Waktu eksekusi suatu instruksi dapat ditentukan dengan mengalikan jumlah siklus clock yang diperlukan untuk mengeksekusi instruksi tersebut dengan periode clock. Atau dapat dinyatakan sebagai hasil jumlah dari waktu eksekusi dasar (yang bervariasi tergantung pada mode instruksi dan pengalamatan) ditambah waktu yang diperlukan untuk menghitung alamat efektif jika melibatkan operand memori. Waktu eksekusi dasar mengasumsikan bahwa instruksi yang akan dieksekusi telah tersimpan pada antrian instruksi. Jika belum, maka diperlukan clock tambahan untuk mengambil instruksi tersebut dari memori dan meletakkannya pada antrian instruksi. Tabel 3.1 memperlihatkan contoh dari waktu eksekusi dasar beberapa instruksi 8086. Untuk operand memori maka waktu penghitungan alamat efektif (EA) ditentukan oelh mode pengalamatan seperti yang diperlihatkan pada Tabel 3.2. Kolom ketiga dari tabel di bawah menunjukkan jumlah memori acuan yang dibutuhkan oleh instruksi. Untuk menentukan waktu eksekusi suatu instruksi satu kata (one word) yang mengacu ke memori, perlu dipertimbangkan letak dari operand. Jika operand terletak pada alamat ganjil, maka CPU memerlukan dua siklus bus yang masingmasing membutuhkan empat siklus clock untuk mengakses operand. Oleh karena itu setiap kata yang mengacu ke alamat ganjil membutuhkan empat siklus tambahan. Perlu diperhatikan bahwa beberapa instruksi dapat mempunyai waktu eksekusi yang berbeda, tergantung pada mode pengalamatannya. Dari contoh tabel 3.1 diperlihatkan bahwa untuk suatu instruksi dua operand, operasi register ke register akan lebih cepat dari pada mode pengalamatan yang lain, dan operasi register ke memori lebih lambat dari pada operasi memori ke register, karena membutuhkan waktu tambahan untuk menyimpan hasil operasi ke memori. Tabel 3.1 Waktu eksekusi Instruksi. Instruksi
Jumlah siklus clock
Jumlah transfer
Add atau Sub Register ke register
3
0
Memori ke register
( + EA
1
Register ke memori
16 + EA
2
Immediete ke register
4
0
Immediete ke memori
17+ EA
2
10
1
MOV (Move) Akumulator ke memori
Universitas Gadjah Mada
15
Memori ke akumulator
10
1
Register ke register
2
0
Memori ke register
8 + EA
1
Registe ke Memori
9 + EA
1
lmmediete ke register
4
0
lmmediete ke memori
10 + EA
1
Register ke register segmen
2
0
Memori ke register segmen
8 + EA
1
Register segmen ke register
2
0
Register segmen ke memori
9 + EA
1
Perkalian register 8 hit
70 - 77
0
Perkalian register 16 bit
118 - 133
0
Perkalian memori 8 bit
(76 - 83) + EA
1
Perkalian memori 16 bit
(124 - 139 ) + EA
1
Perkalian register 8 bit
80 - 98
0
Perkalian register 16 bit
128 - 154
0
Perkalian memori 8 bit
(86 - 104) + EA
1
Perkalian memori 16 bit
(134 - 160) + EA
1
MUL (bilangan tak bertanda)
IMUL (bilangan bertanda)
Sebagai contoh, jika frekuensi clock CPU 5 MHz (mempunyai periode 0,2 μs), maka waktu eksekusi untuk berbagai variasi instruksi ADD, dapat dihitung sebagai berikut: - Penjumlahan register ke register (hasilnya disimpan di register ) memerlukan : 3 siklus clock untuk operand yang berupa byte maupun kata (word) waktu = 0,6 μs
Universitas Gadjah Mada
16
Tabel 3.2 Waktu yang diperlukan untuk penghitungan alamat efektif (EA)
Alamat efektif (EA)
Jumlah siklus clock
Direct
6
Register indirect
5
Register relati f
9
Based indexed (BP) + (DI) atau (BX) + (SI)
7
(BP) + (SI) atau (BX) + (DI)
8
Based indexed relative (BP) + (DI) + DISP atau (BX) + (SI) + DISP
11
(BP) + (SI) + DISP atau (BX) + (DI) + DISP 12
- Penjumlahan memori ke register dengan menggunakan pengalamatan based indexed (hasilnya disimpan pada register) memerlukan :
9 + 12 = 21 siklus untuk operasi byte atau kata dengan alamat genap basic
perhitungan alamat
waktu = 4,2 μs 9 + 12 + 4 = 25 siklus, jika terletak pada alamat ganjil siklus tambahan
waktu = 0,5 μs - Penjumlahan register ke memori dengan menggunakan pengalamatan based indexed (hasilnya disimpan di memori) memerlukan : 16 + 8 = 24 siklus, untuk operasi byte atau kata yang tersempan pada alamat genap basic
perhitungan alamat
waktu = 4,8 μs
Universitas Gadjah Mada
17
16 + 8+4 + 4 = 32 siklus, jika kata tersimpan pada alamat ganjil
siklus tambahan untuk mengambil
siklus tambahan untuk menyimpan kata
kata
waktu = 6,4 μs
Universitas Gadjah Mada
18