Modul Organisasi , Register , Dan Siklus Intruksi
Maaf nih bro baru update lagi...
kali ini saya akan memberi tau kepada kalian semua tentang Modul Organisasi Processor,Register dan Siklus Intruksi.jangan lama lama kita langsung ke TKP aja.hahah
Modul Organisasi Processor,Register,dan Siklus Intruksi
Organisasi
Processor
Prosesor adalah chip yang sering disebut
“Microprosessor” yang sekarang ukurannya sudah mencapai Gigahertz (GHz). Ukuran
tersebut adalah hitungan kecepatan prosesor dalam mengolah data atau informasi.
Merk prosesor yang banyak beredar dipasaran adalah AMD, Apple, Cyrix VIA, IBM,
IDT, dan Intel.
Organisasi Processor tersusun atas beberapa komponen, yaitu :
- Control Unit, bertugas mengontrol operasi CPU dan secara keselurahan mengontrol
computer sehingga terjadi sinkronisasi kerja antar komponen dalam
- Registers, adalah media penyimpan internal CPU yang digunakan saat proses
pengolahan data. Memori ini bersifat sementara, biasanya digunakan untuk
menyimpan data saat diolah ataupun data untuk pengolahan selanjutnya.
- CPU Interconnections, adalah sistem koneksi dan bus yang menghubungkan
komponen internal CPU, yaitu ALU, unit kontrol dan register – register dan
juga dengan bus – bus eksternal CPU yang menghubungkan dengan sistem
lainnya, seperti memori utama, piranti masukan/keluaran.
Lebih lanjut tentang ALU, CU dan Register aka dibahas pada bab berikutnya.
Berikut
sejarah perkembangan Mikroprosesor :
1971 : 4004 Microprocessor
Pada tahun 1971 munculah microprocessor pertama Intel , microprocessor 4004
ini digunakan pada mesin kalkulator Busicom. Dengan penemuan ini maka
terbukalah jalan untuk memasukkan kecerdasan buatan pada benda mati.
1972 : 8008 Microprocessor
Pada tahun 1972 munculah microprocessor 8008 yang berkekuatan 2 kali lipat
dari pendahulunya yaitu 4004.
1974 : 8080 Microprocessor
Menjadi otak dari sebuah komputer yang bernama Altair, pada saat itu
terjual sekitar sepuluh ribu dalam 1 bulan
1978 : 8086-8088 Microprocessor
Sebuah penjualan penting dalam divisi komputer terjadi pada produk untuk
komputer pribadi buatan IBM yang memakai prosesor 8088 yang berhasil
mendongkrak nama intel.
1982 : 286 Microprocessor
Intel 286 atau yang lebih dikenal dengan nama 80286 adalah sebuah processor
yang pertama kali dapat mengenali dan menggunakan software yang digunakan untuk
processor sebelumnya.
1985 : Intel386™ Microprocessor
Intel 386 adalah sebuah prosesor yang memiliki 275.000 transistor yang
tertanam diprosessor tersebut yang jika dibandingkan dengan 4004 memiliki 100
kali lipat lebih banyak dibandingkan dengan 4004.
1989 : Intel486™ DX CPU Microprocessor
Processor yang pertama kali memudahkan berbagai aplikasi yang tadinya harus
mengetikkan command-command menjadi hanya sebuah klik saja, dan mempunyai
fungsi komplek matematika sehingga memperkecil beban kerja pada processor.
1993 : Intel® Pentium® Processor
Processor generasi baru yang mampu menangani berbagai jenis data seperti
suara, bunyi, tulisan tangan, dan foto.
1995 : Intel® Pentium® Pro Processor
Processor yang dirancang untuk digunakan pada aplikasi server dan
workstation, yang dibuat untuk memproses data secara cepat, processor ini
mempunyai 5,5 jt transistor yang tertanam.
1997 : Intel® Pentium® II Processor
Processor Pentium II merupakan processor yang menggabungkan Intel MMX yang
dirancang secara khusus untuk mengolah data video, audio, dan grafik secara
efisien. Terdapat 7.5 juta transistor terintegrasi di dalamnya sehingga dengan
processor ini pengguna PC dapat mengolah berbagai data dan menggunakan internet
dengan lebih baik.
1998 : Intel® Pentium II Xeon® Processor
Processor yang dibuat untuk kebutuhan pada aplikasi server. Intel saat itu
ingin memenuhi strateginya yang ingin memberikan sebuah processor unik untuk
sebuah pasar tertentu.
1999 : Intel® Celeron® Processor
Processor Intel Celeron merupakan processor yang dikeluarkan sebagai
processor yang ditujukan untuk pengguna yang tidak terlalu membutuhkan kinerja
processor yang lebih cepat bagi pengguna yang ingin membangun sebuah system
computer dengan budget (harga) yang tidak terlalu besar. Processor Intel
Celeron ini memiliki bentuk dan formfactor yang sama dengan processor Intel
jenis Pentium, tetapi hanya dengan instruksi-instruksi yang lebih sedikit, L2
cache-nya lebih kecil, kecepatan (clock speed) yang lebih lambat, dan harga
yang lebih murah daripada processor Intel jenis Pentium. Dengan keluarnya
processor Celeron ini maka Intel kembali memberikan sebuah processor untuk
sebuah pasaran tertentu.
1999 : Intel® Pentium® III Processor
Processor Pentium III merupakan processor yang diberi tambahan 70 instruksi
baru yang secara dramatis memperkaya kemampuan pencitraan tingkat tinggi, tiga
dimensi, audio streaming, dan aplikasi-aplikasi video serta pengenalan suara.
1999 : Intel® Pentium® III Xeon® Processor
Intel kembali merambah pasaran server dan workstation dengan mengeluarkan
seri Xeon tetapi jenis Pentium III yang mempunyai 70 perintah SIMD. Keunggulan
processor ini adalah ia dapat mempercepat pengolahan informasi dari system bus
ke processor , yang juga mendongkrak performa secara signifikan. Processor ini
juga dirancang untuk dipadukan dengan processor lain yang sejenis.
2000 : Intel® Pentium® 4 Processor
Processor Pentium IV merupakan produk Intel yang kecepatan prosesnya mampu
menembus kecepatan hingga 3.06 GHz. Pertama kali keluar processor ini
berkecepatan 1.5GHz dengan formafactor pin 423, setelah itu intel merubah
formfactor processor Intel Pentium 4 menjadi pin 478 yang dimulai dari
processor Intel Pentium 4 berkecepatan 1.3 GHz sampai yang terbaru yang saat
ini mampu menembus kecepatannya hingga 3.4 GHz.
2001 : Intel® Xeon® Processor
Processor Intel Pentium 4 Xeon merupakan processor Intel Pentium 4 yang
ditujukan khusus untuk berperan sebagai computer server. Processor ini memiliki
jumlah pin lebih banyak dari processor Intel Pentium 4 serta dengan memory L2
cache yang lebih besar pula.
2001 : Intel® Itanium® Processor
Itanium adalah processor pertama berbasis 64 bit yang ditujukan bagi
pemakain pada server dan workstation serta pemakai tertentu. Processor ini
sudah
dibuat
dengan
struktur
yang
benar-benar
berbeda dari sebelumnya yang didasarkan pada desain dan teknologi Intel’s
Explicitly Parallel Instruction Computing ( EPIC ).
2002 : Intel® Itanium® 2 Processor
Itanium 2 adalah generasi kedua dari keluarga Itanium
2003 : Intel® Pentium® M Processor
Chipset 855, dan Intel® PRO/WIRELESS 2100 adalah komponen dari Intel®
Centrino™. Intel Centrino dibuat untuk memenuhi kebutuhan pasar akan keberadaan
sebuah komputer yang mudah dibawa kemana-mana.
2004 : Intel Pentium M 735/745/755 processors
Dilengkapi dengan chipset 855 dengan fitur baru 2Mb L2 Cache 400MHz system
bus dan kecocokan dengan soket processor dengan seri-seri Pentium M sebelumnya.
2004 : Intel E7520/E7320 Chipsets
7320/7520 dapat digunakan untuk dual processor dengan konfigurasi 800MHz
FSB, DDR2 400 memory, and PCI Express peripheral interfaces.
2005 : Intel Pentium 4 Extreme Edition 3.73GHz
Sebuah processor yang ditujukan untuk pasar pengguna komputer yang
menginginkan sesuatu yang lebih dari komputernya, processor ini menggunakan
konfigurasi 3.73GHz frequency, 1.066GHz FSB, EM64T, 2MB L2 cache, dan
HyperThreading.
2005 : Intel Pentium D 820/830/840
Processor berbasis 64 bit dan disebut dual core karena menggunakan 2 buah
inti, dengan konfigurasi 1MB L2 cache pada tiap core, 800MHz FSB, dan bisa
beroperasi pada frekuensi 2.8GHz, 3.0GHz, dan 3.2GHz. Pada processor jenis ini
juga disertakan dukungan HyperThreading.
2006 : Intel Core 2 Quad Q6600
Processor untuk type desktop dan digunakan pada orang yang ingin kekuatan
lebih dari komputer yang ia miliki memiliki 2 buah core dengan konfigurasi
2.4GHz dengan 8MB L2 cache (sampai dengan 4MB yang dapat diakses tiap core ),
1.06GHz Front-side bus, dan thermal design power ( TDP )
2006 : Intel Quad-core Xeon X3210/X3220
Processor yang digunakan untuk tipe server dan memiliki 2 buah core dengan
masing-masing memiliki konfigurasi 2.13 dan 2.4GHz, berturut-turut , dengan 8MB
L2 cache ( dapat mencapai 4MB yang diakses untuk tiap core ), 1.06GHz
Front-side bus, dan thermal design power (TDP)
Register prosesor
Register prosesor dalam arsitektur komputer adalah
sejumlah kecil memori komputer yang bekerja dengan kecepatan sangat tinggi yang
digunakan untuk melakukan eksekusi terhadap program-program komputer dengan
menyediakan akses yang cepat terhadap nilai-nilai yang umum digunakan. Umumnya
nilai-nilai yang umum digunakan adalah nilai yang sedang dieksekusi dalam waktu
tertentu.
Register prosesor berdiri pada tingkat tertinggi
dalam hierarki memori. Ini berarti bahwa kecepatannya adalah yang paling cepat. Kapasitasnya adalah paling kecil, dan harga
tiap bitnya adalah paling tinggi.
Memori utama dan
cache dalam hirarki / register tersebut dalam prosesor melakukan dua peran
:
1.
User Visible Register
2.
Control and Status Register
User Visible Register
Register ini memungkinkan pemrogram bahasa mesin dan bahasa assembler
meminimalkan referensi main memori dengan cara mengoptimasi penggunaan
register. Register ini adalah register yang dapat direfensikan dengan
menggunakan bahasa mesin yang dieksekusi CPU.
Secara virtual semua rancangan CPU modern memiliki
sejumlah user-visible register, yang merupakan kebalikan akumulator tunggal. Kita
dapat membedakannya dengan kategori-kategori berikut ini :
·
Register General Purpose
·
Register Data
·
Register Alamat
·
Register Kode Kondisi
General-Purpose
register dapat di-assign ke berbagai fungsi oleh pemrogram. General-Purpose
register dapat berisi operand sembarang opcode. Dapat digunakan untuk
fungsi-fungsi pengalamatan (misal : register indirect, displacement).
Register
Data hanya dapat dipakai untuk menampung data dan tidak dapat digunakan untuk
kalkulasi dan alamat operand.
Register alamat menyerupai general-purpose register,
atau register-register tersebut dapat digunakan untuk mode pengalamatan
tertentu. Contohnya :
·
Segment pointer => pada sebuah mesin yang memiliki pengalamatan
bersegmen, register segmen menyimpan alamat basis segmen.
·
Register index => register ini digunakan untuk alamat-alamat yang
terindeks dan mungkin autoindexed.
·
Stack pointer => apabila terdapat pengalamatan stack yang user-visible,
maka biasanya stack berada di dalam memori dan terdapat register dedicated yang
menunjuk ke bagian atas stack. Hal ini memungkinkan pengalamatan implisit,
yaitu: push, pop dan instruksi stack lainnya tidak perlu operand stack
eksplisi.
Register
yang harus menampung alamat sedikitnya harus dapat menampung alamat yang
terpanjang. Register-register data harus dapat menampung nilai-nilai sebagian
besar jenis data.
Register
kode kondisi adalah bit-bit yang disetel perangkat keras CPU sebagai hasil
operasi.
Control & Status
Registers
Register yang digunakan oleh CU, kontrol operasi CPU dan oleh sistem operasi untuk control eksekusi program. Ada berbagai register prosesor yang digunakan untuk mengendalikan operasi prosesor. Sebagian besar tidak terlihat oleh pengguna tetapi beberapa dapat terlihat oleh instruksi mesin, dieksekusi dalam kontrol atau mode sistem operasi .
Register yang penting bagi eksekusi instruksi
:
·
Program Counter (PC)
·
Instruction Register (IR)
·
Memory Data Register (MDR)
·
Memory Address Register (MAR)
·
Memory Buffer Register (MBR)
·
General Purpose Register
Register juga digunakan sebagai cara yang paling
cepat dalam sistem komputer untuk melakukan manipulasi data. Register umumnya
diukur dengan satuan bit yang dapat ditampung olehnya. Seperti “register
8-bit”, register 32-bit”, register 64-bit” dan lain-lain.
Istilah register saat ini dapat merujuk kepada
kumpulan register yang dapat di indeks secara langsung untuk melakukan
input/output terhadap sebuah instruksi yang didefinisikan oleh set instruksi
untuk istilah ini, digunakanlah kata “Register Arsitektur”. Sebagai contoh set
instruksi Intel x86 mendifinisikan sekumpulan delapan buah register dengan
ukuran 32-bit, tapi cpu yang mengimplementasikanset instruksi x86 dapat
mengandung lebih dari delapan register 32-bit.
Lebih lanjut tentang Register aka dibahas pada bab berikutnya.
Siklus Instruksi
Machine cycle atau nama lainnya adalah processor cycle atau instruction
cycle merupakan suatu siklus instruksi dasar yang dikerjakan oleh CPU di
dalam melakukan eksekusi suatu instruksi. Rangkaian proses eksekusi instruksi
ini dimulai dari proses fetching data dan instruksi yang ada didalam memori
hingga proses penulisan kembali hasil eksekusi instruksi tersebut ke dalam
memori.
Sebelum suatu instruksi dieksekusi oleh processor,
terlebih dahulu sekumpulan instruksi tersebut disimpan dalam memori. Ketika
akan dieksekusi, instruksi tersebut akan diambil (fetch) ke dalam memori, berdasarkan
alamat instruksi yang disimpan dalam PC (Program Counter) yang terdapat dalam
CPU. Setelah instruksi tersebut diload dari memori, nilai PC akan di-increment
untuk menunjuk alamat berikutnya dari dari instruksi yang akan dieksekusi.
Tahapan berikutnya setelah proses load (fetch) dilakukan, instruksi tersebut
akan di-decode, dan kemudian dilakukan proses eksekusi. Setelah itu ,
hasil dari eksekusi instruksi tersebut akan dikembalikan lagi ke dalam memori.
Siklus instruksi tersebut akan dikerjakan secara berulang oleh CPU selama masih
ada instruksi yang akan dieksekusi.
Sesuai
dengan Gambar diatas, secara garis besar siklus instruksi (machine cycle)
dibagi ke dalam beberapa tahapan yaitu:
1.
Proses Fetching
Merupakan proses dimana
instruksi dan data akan di load dari memori ke dalam CPU. Proses ini dimulai
dari pengambilan alamat instruksi yang terdapat di dalam PC (Program Counter).
Alamat yang terdapat di dalam PC ini merupakan alamat valid dari instruksi dan
data yang disimpan ke dalam memori utama, dan merupakan alamat instruksi yang
akan dieksekusi. Berdasarkan alamat instruksi yang terdapat di dalam PC, CPU
akan mengambil instruksi tersebut untuk ditempatkan ke dalam register
(Instruction Register/ IR) yang menyimpan instruksi yang akan dieksekusi.
MAR (Memory Address Register)
akan bertanggung jawab untuk menyimpan alamat dari data yang disimpan ke dalam
memori untuk selanjutnya akan di fetch ke dalam CPU. Sedangkan MDR (Memory Data
Register) akan menyimpan data yang akan dioperasikan berdasarkan instruksi
tertentu oleh CPU.
Setelah instruksi dan data
di-fetch ke dalam CPU, Program Counter (PC) akan melakukan increment untuk
menunjuk alamat dari instruksi dan data berikutnya yang akan dieksekusi. Secara
garis besar, tahap fetching dapat dilihat pada Gambar dibawah
ini
Proses Fetching
2.
Proses Decoding
Merupakan tahapan dimana
instruksi akan di terjemahkan (interpret) ke dalam perintah-perintah bahasa
mesin dasar (ADD, SB, MBA, STA, JMP, dll). Proses ini dilakukan oleh
instruction decoder. Proses decoder dapat dilihat pada Gambar dibawah
ini
Proses Decoding
3.
Proses Executing
Pada tahapan dimana instruksi
akan dieksekusi di dalam CPU, yaitu oleh ALU (Arithmetic Logic Unit). Proses
eksekusi instruksi yang terdapat di dalam ALU dapat dilihat pada Gambar dibawah
ini
Proses Executing
Setelah tahapan diatas
dikerjakan, maka hasil dari eksekusi tersebut akan dikembalikan ke dalam memori
untuk disimpan. Berdasarkan Gambar diatas dibawah ini, proses
penyimpanan kembali hasil eksekusi isntruksi terdiri dari beberapa tahapan
yaitu:
·
Proses penempatan alamat memori yang digunakan untuk menyimpan hasil
instruksi ke dalam MAR
· Proses penempatan data (hasil
instruksi) kedalam MDR
· Proses mengaktifkan memory
write control signal pada control bus
·
Proses menunggu memori untuk melakukan write data pada alamat tertentu
·
Proses untuk
menonaktifkan memory write control signal pada bus
Proses
penyimpanan kembali hasil instruksi ke memori
Perlu diketahui bahwa siklus
eksekusi untuk suatu instruksi dapat melibatkan lebih dari
sebuah referensi ke memori. Disamping itu juga, suatu instruksi dapat
menentukan suatu operasi I/O. Perhatikan gambar diagram berikut :
· Instruction Addess Calculation (IAC), yaitu mengkalkulasi atau menentukan alamat instruksi
berikutnya yang akan dieksekusi.
· Instruction Fetch (IF), yaitu membaca atau pengambil instruksi dari lokasi memorinya ke CPU.
· Instruction Operation Decoding (IOD), yaitu menganalisa instruksi untuk menentukan jenis
operasi yang akan dibentuk dan operand yang akan digunakan.
· Operand Address Calculation (OAC),yaitu menentukan alamat operand, hal ini dilakukan apabila
melibatkan referensi operand pada memori.
· Operand Fetch (OF), adalah mengambil operand dari memori atau dari modul I/O.
· Data Operation (DO), yaitu membentuk operasi yang diperintahkan dalam instruksi.
· Operand store (OS), yaitu menyimpan hasil eksekusi ke dalam memori.
Dalam
menjalakan instruction cycle / machine cycle ada beberapa komponen yang
berperan, yaitu:
- Program Counter (PC)
Nama lainnya adalah Instruction Pointer, merupakan suatu
pointer (penunjuk), bagi sejumlah instruksi yang ditempatkan di dalam memori
dan akan dieksekusi oleh CPU. Terletak di dalam CPU, program counter akan
menunjuk alamat memori dari instruksi sebelum dilakukan proses fetch ke dalam
CPU. Isi dari program counter ini akan di increment setiap selesai melakukan
proses fetching instruksi, untuk menunjuk instruksi berikutnya yang akan
dieksekusi
- Memory Address Register (MAR)
Adalah salah satu register
yang terdapat di dalam CPU yang fungsinya adalah untuk menyimpan alamat memori
dari data yang akan diambil (fetch) oleh CPU untuk dieksekusi. Selain itu MAR
juga akan menyimpan alamat memori dari data (hasil instruksi) yang akan ditulis
kembali ke dalam memori.
- Memory Data Register (MDR)
Merupakan register yang
terdapat dalam CPU yang fungsinya adalah menyimpan data sementara yang akan
dieksekusi oleh CPU. Setiap kali proses fetching berlangsung, data akan
disimpan di dalam MDR sebelum dilakukan proses eksekusi. Demikian juga hasil
dari eksekusi instruksi akan disimpan di dalam register ini sebelum dilakukan
proses penulisan kembali ke memori
- Instruction Register
Sama seperti MAR dan MDR,
Instruction Register (IR) ini terletak di dalam CPU. IR ini bertanggung jawab
untuk menyimpan instruksi yang akan dieksekusi oleh CPU. Pada beberapa jenis
prosesor (terutama yang ada sekarang), digunakan konsep pipeline pada IR ini,
dimana pada setiap stage pipeline melakukan proses decoding, dan proses yang
lain pada waktu instruksi dikerjakan.
- Control Unit (CU)
Control unit mengkoordinasi
semua komponen-komponen yang ada di sistem computer, terutama yang berkaitan
dengan pengolahan data dan eksekusi instruksi. CU mengatur proses fetching instruksi maupun data dari
memori ke CPU. Selain itu juga mengatur unit yang lain dengan menyediakan timing dan control signal.
- Arithmetic Logic Unit (ALU)
Merupakan sirkuit digital yang
terdapat di dalam CPU yang memiliki fungsi untuk melakukan komputasi aritmatika
dan logika. ALU merupakan unit dasar dari pengolah data dan eksekusi instruksi
Siklus Tak Langsung
Eksekusi
sebuah instruksi melibatkan sebuah operand atau lebih di dalam memori, yang
masing-masing operand memerlukan akses memori. Kemudian, apabila digunakan
pengalamatan tak langsung, maka diperlukan akses memori tambahan.
Fungsi Interrupt
Fungsi interupsi adalah
mekanisme penghentian atau pengalihan pengolahan instruksi dalam
CPU kepada routine interupsi. Hampir semua
modul (memori dan I/O) memiliki mekanisme yang dapat
menginterupsi kerja CPU.
Tujuan interupsi secara umum
untuk menejemen pengeksekusian routine instruksi agar
efektif dan efisien antar CPU dan modul – modul
I/O maupun memori. Setiap komponen komputer dapat menjalankan
tugasnya secara bersamaan, tetapi kendali
terletak pada CPU disamping itu kecepatan eksekusi
masing – masing modul berbeda sehingga dengan
adanya fungsi interupsi ini dapat sebagai
sinkronisasi kerja antar modul. Macam – macam kelas sinyal
interupsi :
·
Program, yaitu interupsi yang dibangkitkan dengan beberapa
kondisi yang terjadi pada hasil eksekusi program.
Contohnya: arimatika overflow, pembagian nol, oparasi ilegal.
· Timer, adalah interupsi
yang dibangkitkan pewaktuan dalam prosesor. Sinyal ini memungkinkan sistem
operasi menjalankan fungsi tertentu secara reguler.
· I/O, sinyal interupsi
yang dibangkitkan oleh modul I/O sehubungan pemberitahuan kondisi error dan
penyelesaian suatu operasi.
·
Hardware
failure, adalah interupsi yang dibangkitkan oleh
kegagalan daya atau kesalahan paritas memori.
Dengan adanya mekanisme interupsi,
prosesor dapat digunakan untuk meng eksekusi instruksi-instruksi
lain. Saat suatu modul telah selesai menjalankan tugasnya dan siap menerima
tugas berikutnya maka modul ini akan mengirimkan permintaan interupsi ke
prosesor. Kemudian prosesor akan menghentikan eksekusi yang
dijalankannya untuk menghandel routine interupsi.
Setelah program interupsi selesai maka prosesor
akan melanjutkan eksekusi programnya kembali. Saat sinyal
interupsi diterima prosesor ada dua kemungkinan
tindakan, yaitu interupsi diterima/ditangguhkan dan interupsi ditolak. Apabila
interupsi ditangguhkan, prosesor akan melakukan hal – hal dibawah
ini :
1.
Prosesor menangguhkan
eksekusi program yang dijalankan dan menyimpan konteksnya.
Tindakan ini adalah menyimpan alamat instruksi berikutnya yang akan dieksekusi
dan data lain yang relevan.
2.
Prosesor menyetel program counter (PC) ke alamat awal
routine interrupt handler.
Siklus instruksi dengan interrupt
Untuk
sistem operasi yang kompleks sangat dimungkinkan adanya interupsi ganda (multiple interrupt). Misalnya suatu
komputer akan menerima permintaan interupsi saat proses pencetakan dengan
printer selesai, disamping itu dimungkinkan dari saluran komunikasi akan mengirimkan permintaan
interupsi setiap kali data tiba. Dalam hal ini prosesor harus menangani
interupsi ganda.
Dapat diambil dua buah pendekatan untuk menangani interupsi ganda
ini. Pertama adalah menolak atau tidak mengizinkan interupsi lain saat suatu
interupsi ditangani prosesor. Kemudian setelah prosesor selesai menangani suatu
interupsi maka interupsi lain baru di tangani. Pendekatan ini disebut pengolahan interupsi berurutan / sekuensial.
Pendekatan ini cukup baik dan sederhana karena interupsi ditangani dalam ututan
yang cukup ketat. Kelemahan pendekatan ini adalah metode ini tidak memperhitungkan
prioritas interupsi.
Pendekatan kedua adalah dengan mendefinisikan prioritas bagi
interupsi dan in terrupt handler
mengizinkan
interupsi berprioritas lebih tinggi ditangani terlebih dahulu. Pen
dekatan ini
disebut pengolahan interupsi bersarang.
Metode ini digambarkan pada gambar b.
Sebagai
contoh untuk pendekatan bersarang, misalnya suatu sistem memiliki tiga
perangkat I/O: printer, disk, dan saluran komunikasi, masing – masing prioritasnya 2, 4 dan 5. Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi. Proses selanjutnya adalah pengalihan eksekusi interupsi mudul komunikasi, sedangkan interupsi printer ditangguhkan. Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan. Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk. Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer. Selanjutnya dilanjutkan eksekusi program utama.
perangkat I/O: printer, disk, dan saluran komunikasi, masing – masing prioritasnya 2, 4 dan 5. Pada awal sistem melakukan pencetakan dengan printer, saat itu terdapat pengiriman data pada saluran komunikasi sehingga modul komunikasi meminta interupsi. Proses selanjutnya adalah pengalihan eksekusi interupsi mudul komunikasi, sedangkan interupsi printer ditangguhkan. Saat pengeksekusian modul komunikasi terjadi interupsi disk, namun karena prioritasnya lebih rendah maka interupsi disk ditangguhkan. Setelah interupsi modul komunikasi selesai akan dilanjutkan interupsi yang memiliki prioritas lebih tinggi, yaitu disk. Bila interupsi disk selesai dilanjutkan eksekusi interupsi printer. Selanjutnya dilanjutkan eksekusi program utama.
Pipelining Instruksi
Proses
pipelining adalah proses dimana input baru akan diterima pada sebuah sisi sebelum input yang
diterima sebelumnya keluar sebagai output di sisi lainnya. Pipeline memiliki
dua tahapan yang independen. Tahapan pertama mengambil instruksi dan
mem-buffer-kannya. Ketika tahapan kedua bebas, tahapan pertama mengirimkan
instruksi yang di-buffer-kan tersebut. Pada saat tahapan kedua sedang
mengeksekusi instruksi, tahapan pertama memanfaatkan siklus memori yang tidak
dipakai untuk mengambil dan membufferkan instruksi berikutnya. Proses ini
disebut instruction prefetch atau fetch overlap.
Penggandaan kecepatan eksekusi tidak akan terjadi
karena adanya kedua alasan berikut ini:
- Umumnya waktu eksekusi
akan lebih lama dibandingkan dengan pengambilan instruksi. Eksekusi akan
meliputi pembacaan dan penyimpanan operand serta kinerja sejumlah operasi.
Sehingga tahapan pengambilan mungkin perlu menunggu beberapa saat sebelum
mengosongkan buffer-nya.
- Instruksi pencabangan
bersyarat akan membuat alamat instruksi berikutnya yang akan diambil tidak
diketahui. Sehingga tahapan pengambilan harus menunggu sampai menerima
alamat instruksi berikutnya dari tahapan eksekusi. Dengan demikian tahapan
eksekusi harus menunggu pada saat instruksi berikutnya diambil.
Kerugian
waktu yang diakibatkan tahapan kedua dapat dikurangi dengan cara menebak.
Aturan sederhananya adalah sebagai berikut : ketika instruksi pencabangan
bersyarat dikirimkan dari tahapan pengambilan ke tahapan eksekusi, tahapan
pengambilan mengambil instruksi berikutnya di dalam memori setelah terjadinya
instruksi pencabangan itu. Kemudian apabila pencabangan tidak dilakukan, maka
tidak akan terdapat waktu yang hilang. Apabila pencabangan dilakukan, instruksi
yang diambil harus dibuang dan instruksi yang baru harus diambil.
Kalau mau download langsung aja Disini
Jangan lupa tinggalkan jejak bro :)....hehhe
Thank's... :)
ReplyDeleteBrmnfaaat. (y)
Ya Sama Sama
DeleteOk
ReplyDelete