Kamis, 28 Mei 2009

Dead lock

Karakteristik Deadlock

Situasi deadlock dapat terjadi bila terdapat 4 kondisi yang berjalan serentak pada sistem.
Mutual Exclusion
Sebuah resource hanya dapat digunakan oleh sebuah proses pada suatu waktu tertentu. (resource yang non-shareable.)
Hold and Wait
terdapat proses yang sedang menunggu dan memegang resource.

Karakteristik Deadlock (cont.)

Non-preemption
Resource tidak dapat digunakan sebelum proses yang menggunakan telah selesai menggunakan dan kemudian melepaskannya.
Circular wait
Proses-proses berada dalam lingkaran. Terjadi saling menunggu resource yang sedang digunakan oleh proses berikutnya dalam lingkaran tersebut.

Pengendalian Deadlock
Mengabaikan, menganggap bahwa deadlock
tidak akan pernah terjadi.
Membiarkan terjadinya deadlock, lalu kemudian segera diperbaiki/recover.
Menggunakan protokol untuk meyakinkan bahwa sistem tidak akan pernahdeadlock.

Ostrich Algorithm

Algoritmapaling sederhana.
Mengabaikanterjadinyakondisideadlock.
Jadiapayang haruskitalakukanjikaterjadideadlock menurutOstrich algorithm?
Cukup di restart!

Mendeteksi dan memperbaiki

Mendeteksi apabiladalamsebuahproses
terjadi kondisiyang mengarahkecircular wait.
Apabila deadlock terjadi tentukan proses mana saja yang terlibat.
Setelah deadlock terdeteksi, biarkan proses yang mengalami deadlock selesai menggunakan resource, agar resource bisa digunakan. Atau stop semua proses yang terlibat deadlock.

Penggunaan Protokol

Deadlock Prevention
Menggunakan method supaya tidak terjadi salah
satu kondisi yang menyebabkan deadlock.
Deadlock Avoidance
Menghindari situasi yang dapat mengarah kepada terjadinya deadlock, sistem harus diberikan
informasi tambahan yang menyatakan resource
mana yang diminta proses, dan digunakan selama proses berjalan.

Deadlock prevention

Salah satu faktor-faktor penyebab deadlock
harus dapat dicegah.
Mutual Exclusion
Sifat alamiah sebuah resource (tidak bisa dicegah).Namun, ada beberapa resource yang dapat
di-spool.
Hold and Wait
Harus dipastikan bahwa ketika sebuah proses
merequest resource, proses itu tidak sedang memegang resource lain.

Deadlock prevention (cont.)

Non preemption
Mencegah supaya tidak ada proses dalam keadaan menunggu-mendapat-resource yang sedang digunakan oleh proses lain. (seluruh proses menjadi preemption).
Circular waiting
Mengatur agar setiap proses hanya dapat menggunakan sebuah sumber daya pada suatu waktu.
Melakukan penomoran resource.

Deadlock avoidance

Menyeleksi request resource dari proses-proses, apabila request itu ‘berbahaya’ maka requestnya akan ditunda dahulu hingga keadaan sudah aman.
Membutuhkan informasi tambahan mengenai aliran resource yang diminta.
Algoritma yang digunakan Algoritma Banker.

Deadlock detection

Jika tidak terdapat deadlock prevention atau avoidance dalam suatu sistem diperlukan suatu mekanisme untuk mengetahui terjadinya deadlock.
Menggunakan algoritmauntukmendeteksiadanyadeadlock.
Memeriksa penggunaan resource oleh proses-proses


Save vsUnsafe state

Ketika terjadi resource request, sistem harus memastikan proses berada dalam safe state
Safe state sistem dapat mengalokasikan resource untuk tiap-tiap proses dan mencegah terjadinya deadlock
Unsafe state sistem tidak dapat mengatur alokasi resource untuk tiap proses

Safe vs Unsafe state (cont.)

Jika sistem berada dalam kondisi safe state, berarti tidak terjadi deadlock.
Jika dalam kondisi unsafe state, kemungkinan bisa terjadi deadlock.


Banker’s algorithm

Setiap prosesharusmengklaimberapajumlahmaksimumresource yang akandigunakan.
Jikaresource tidaktersediamakapermintaanditunda.
Setiap prosesyang telahselesaiharusmengembalikanresource yang dipakai.

BANKER'S ALGORITHM

PROSES ALOKASI MAKS TERSEDIA
P1 2 5 2
P2 4 8
P3 2 3
P1 2 5 4
P2 4 8
P3 - -
P1 - - 6
P2 4 8
P3 - -

Kelemahan Banker’s algorithm

Proses kebanyakan belum mengetahui jumlah maksimum resource yang dibutuhkan.
Jumlah proses tidak tetap.
Beberapa resource dapat diambil dari sistem sewaktu-waktu.
Algoritma membuat sistem untuk memenuhi permintaan hingga waktu yang tidak terbatas.

Deadlock Recovery

Pemulihandeadlock dapatdilakukanmelalui:
Hapussemuaprosesyang terlibatdalamdeadlock.
Rollback danrestart proses.
Secarabertahaphapusproses-prosesyang terlibatdeadlock hinggatidakadadeadlock lagi.
Secaraberurutan, preempt resource-
resource sampaitidakadadeadlock.

Summary

Deadlock berpotensi terjadi pada sistem dengan multiproses akibat penggunaan resource bersama yang mengakibatkan konflik.
Ada beberapa cara untuk menghandle deadlock ini, namun tidak ada solusi umum mengenai deadlock.
Masing-masing teknik mempunyai kelemahan.

Sabtu, 02 Mei 2009

Round Robin

A. Round Robin (RR)

Merupakan :

· Penjadwalan yang paling tua, sederhana, adil, banyak digunakan

algoritmanya dan mudah diimplementasikan.

· Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal

berdasarkan lama waktu berjalannya proses (preempt by time).

· Penjadwalan tanpa prioritas.

· Berasumsi bahwa semua proses memiliki kepentingan yang sama,

sehingga tidak ada prioritas tertentu.

Semua proses dianggap penting sehingga diberi sejumlah waktu oleh

pemroses yang disebut kwanta (quantum) atau time slice dimana proses itu

berjalan.Jika proses masih running sampai akhir quantum, maka CPU akan

mempreempt proses itu dan memberikannya ke proses lain.

Penjadwal membutuhkannya dengan memelihara daftar proses dari

runnable. Ketika quantum habis untuk satu proses tertentu, maka proses

tersebut akan diletakkan diakhir daftar (list), seperti nampak dalam gambar

berikut ini :

(a) (b)

Proses Proses Proses

saat berikutnya saat

ini ini

V V V

+---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+

+---+

: B :--: F :--: D :--: G :--: A : : B :--: F :--: D :--: G :-

-: A :

+---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+

+---+

Gambar 3.(a) : Daftar proses runnable.

3.(b) : Daftar proses runnable sesudah proses b habis

quantumnya.

Algoritma yang digunakan :

1. Jika kwanta habis dan proses belum selesai, maka proses menjadi

runnable dan pemroses dialihkan ke proses lain.

2. Jika kwanta belum habis dan proses menunggu suatu kejadian

(selesainya operasi I/O), maka proses menjadi blocked dan pemroses

dialihkan ke proses lain.

3. Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri

dan pemroses dialihkan ke proses lain.

Diimplementasikan dengan :

1. Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.

2. Ambil proses yang berada di ujung depan antrian menjadi running.

3. Bila kwanta belum habis dan proses selesai, maka ambil proses di ujung

depan antrian proses ready.

4. Jika kwanta habis dan proses belum selesai, maka tempatkan proses

running ke ekor antrian proses ready dan ambil proses di ujung depan

antrian proses ready.

Masalah yang timbul adalah menentukan besar kwanta, yaitu :

_ Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround

time rendah.

_ Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak

sehingga menurunkan efisiensi proses.

Switching dari satu proses ke proses lain membutuhkan kepastian waktu

yang digunakan untuk administrasi, menyimpan, memanggil nilai-nilai

register, pemetaan memori, memperbaiki tabel proses dan senarai dan

sebagainya. Mungkin proses switch ini atau konteks switch membutuhkan

waktu 5 msec disamping waktu pemroses yang dibutuhkan untuk menjalankan

proses tertentu.

Dengan permasalahan tersebut tentunya harus ditetapkan kwanta waktu

yang optimal berdasarkan kebutuhan sistem dari hasil percobaan atau data

historis. Besar kwanta waktu beragam bergantung beban sistem. Apabila nilai

quantum terlalu singkat akan menyebabkan terlalu banyak switch antar proses

dan efisiensi CPU akan buruk, sebaliknya bila nilai quantum terlalu lama akan

menyebabkan respon CPU akan lambat sehingga proses yang singkat akan

menunggu lama. Sebuah quantum sebesar 100 msec merupakan nilai yang

dapat diterima.

Penilaian penjadwalan ini berdasarkan kriteria optimasi :

_ Adil, adil bila dipandang dari persamaan pelayanan oleh pemroses.

_ Efisiensi, cenderung efisien pada sistem interaktif.

_ Waktu tanggap, memuaskan untuk sistem interaktif, tidak memadai untuk

sistem waktu nyata.

_ Turn around time cukup baik.

_ Throughtput cukup baik.

Penjadwalan ini :

a. Baik untuk sistem interactive-time sharing dimana kebanyakan waktu

dipergunakan menunggu kejadian eksternal. Contoh : text editor,

kebanyakan waktu program adalah untuk menunggu keyboard, sehingga

dapat dijalankan proses-proses lain.

b. Tidak cocok untuk sistem waktu nyata apalagi hard-real-time

applications.

Artikel Round Robin

Round Robin
Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya. Tentu proses ini cukup adil karena tak ada proses yang diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih lama dari (n-1)q dengan q adalah lama 1 quantum.
Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar, algoritma ini akan sama saja dengan algoritma first come first served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu terbuang.
Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum. Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum. Hal ini tidak baik karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin akan berjalan seperti algoritma first come first served. Time quantum yang ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time quantum.
Gambar 14.4. Urutan Kejadian Algoritma Round Robin

Gambar 14.5. Penggunaan Waktu Quantum

Minggu, 12 April 2009

Artikel Instalasi Linux

LANGKAH IPersiapan Menginstall Linux (Debian)Nyalakan komputer, kemudian tekan [delete] untuk masuk ke bios,Setelah di dalam bios, pilih menuBIOS FEATURES SETUPtekan [ENTER]Setelah itu pilihlah menu Boot Sequence agar menjadi CDROM,C,A[ESC]Pilih,SAVE & EXIT SETUPtekan [ENTER]tekan y [ENTER]Maka komputer akan mulai booting kembali dengan boot sequence pertama ke CDROM.Masukkan CD debian yang ada kedalam CDROM.LANGKAH IIBoot dari CDSetelah memasukkan CD ke dalam CDROM maka tinggal tunggu CD boot.Setelah komputer boot ke CD, akan muncul tampilan sebagai berikut:Welcome to Deal This is debian .....................................................................................................boot:_ [ENTER]LANGKAH IIIPilihan Awal PenginstallanSetelah itu komputer akan loading...Tunggu sampai muncul tulisan sebagai berikut:' Choose The Language 'Pilih bahasa (disarankan bahasa inggris - en). [ENTER]' Choose Language Variant 'Pilih ' English (United States) ' [ENTER].' Relase Notes 'Pilih [ENTER].' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpada pilihan yang paling atas dengan tulisan,Next : Configure the Keyboardtekan [ENTER].' Select a Keyboard 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpilih,qwerty/us : U.S. English (QWERTY)[ENTER]LANGKAH IVMenentukan Partisi Hardisk' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpada pilihan yang paling atas dengan tulisan,Next : Initialize and Activate a Swap Partitionpilih,Previous: Partition a Hard Disk[ENTER]' Select Disk Drive 'pilih,/dev/hda[ENTER]' Lilo Limitations '[ENTER]' Note on additional space for the ReiserFS Journal '[ENTER]Akan muncul tampilan partisi yang ada pada hard Disk hda, dengan informasi ini anda akan mengetahui letak partisi swap dan letak partisi tempat anda akan meletakkan '/' (root).pilih [ Quit ]dengan menggerakan/menekan panah kearah kanan. [ENTER]LANGKAH VMenginisialisasi Partisi Swap ' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlight pada pilihan yang paling atas dengan tulisan,Next : Initialize and Activate a Swap Partition[ENTER]' Scan for Bad Blocks? 'pilih [ENTER]' Are You Sure? 'pilih [ENTER]LANGKAH VIMemilih jenis File System pada Partisi Linux' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpada pilihan yang paling atas dengan tulisan,Next : Initialize a Linux Partition[ENTER]' Choose Filesystem Type 'Terdapat 3 pilihan pada kotak, pilih,Ext3 : Next Generation of Ext2, a journaling filesystem[ENTER]' Select Partition 'Pilih partisi yang akan dijadikan "Ext3"Terdapat 3 pilihan pada kotak, pilih,/dev/hda2 : Linux native[ENTER]' Scan for Bad Blocks? 'pilih [ENTER]' Are You Sure? 'Perhatikan baik-baik apakah benar yang anda pilih /dev/hda2 sebagai "Ext3" kalau sudah benarpilih [ENTER]' Mount as the Root Filesystem? 'pilih [ENTER]LANGKAH VIIMenginstall Kernel dan Modulnya' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlight pada pilihan yang paling atas dengan tulisan,Next : Install kernel and Driver Modules[ENTER]' Select Installation Medium 'pilih,cdrom : CD-ROM drive[ENTER]' Please insert the CD-ROM 'pilih [ENTER]' Please Wait '' Select Archive path 'Pilih directory tempat menginstall kernel./instmnt/dists/woody/main/disks-i386/current[ENTER]' Please Wait 'LANGKAH VIIIMemilih Driver' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpada pilihan yang paling atas dengan tulisan,Next : Configure Device Driver Modules[ENTER]' Note about loaded drivers 'pilih, [ENTER]' Select Category 'Akan tampil pilihan-pilihan module yang akan di pilih,1. Pilih ' kernel/drivers/input Input Devices. ' [ENTER]' Select kernel/driver/input modules 'pilih,' kebdev - Keyboard support ' [ENTER]' kebdev 'pilih, [ENTER]' Enter Command-Line Argumens 'Tidak perlu diisi apa-apa.[ENTER]pilih,' mousedev - Mouse support ' [ENTER]' mousedev 'pilih, [ENTER]' Enter Command-Line Argumens 'Tidak perlu diisi apa-apa.[ENTER]Pilih ' Exit Finish Return to previous menu. ' [ENTER]2. Pilih ' kernel/drivers/net Drivers for network interface cards ' [ENTER]' Select kernel/drivers/net modules 'carilah ' eepro100 ' [ENTER]' eepro100 'pilih, [ENTER]atau bila gagal bisa coba bonding' Enter Command-Line Argumens 'Tidak perlu diisi apa-apa. [ENTER]Pilih ' Exit Finish Return to previous menu. ' [ENTER]3. Pilih ' kernel/fs/msdos MS-DOS file system ' [ENTER]' Select kernel/fs/msdos modules 'pilih, ' msdos - PC BIOS ' [ENTER]' msdos 'pilih, [ENTER]' Enter Command-Line Argumens 'Tidak perlu diisi apa-apa.[ENTER]Pilih ' Exit Finish Return to previous menu. ' [ENTER]4. Pilih ' kernel/arch/1386/kernel i386-base drivers. ' [ENTER]pilih, ' apm ' [ENTER]' apm 'pilih, [ENTER]' Enter Command-Line Argumens 'Tidak perlu diisi apa-apa.[ENTER]pilih, ' cpuid ' [ENTER]' cpuid 'pilih, [ENTER]' Enter Command-Line Argumens 'Tidak perlu diisi apa-apa.[ENTER]Pilih ' Exit Finish Return to previous menu. ' [ENTER]Pilih, ' Exit ' [ENTER]LANGKAH IXMengkonfigurasi Jaringan' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpada pilihan yang paling atas dengan tulisan,Next : Configure the network[ENTER]' Choose The Hostname 'Ganti tulisan ' Debian ' dengan ' LAB-OS-27-*** '*** diganti dengan nomor komputer.[ENTER]' Automatic Network Configuration 'pilih, [ENTER]' Choose the IP Address 'Ganti tulisan default-nya dengan ' 152.118.27.*** '*** diganti dengan nomor komputer.[ENTER]' Choose Network Mask 'Tidak usah diganti.[ENTER]' What is your IP gateaway address? '152.118.27.1[ENTER]' Choose Domain Name 'Tulis ' cs.ui.ac.id '[ENTER]' Choose the DNS Server Addresses 'Ganti dengan ' 152.118.24.2 '[ENTER]LANGKAH XMenginstall Base System' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang dihighlight pada pilihan yang paling atas dengan tulisan,Next : Install the base system[ENTER]' Select Installation Medium 'pilih,' cdrom : CD-ROM drive '[ENTER]' Please insert the CD-ROM 'pilih, [ENTER]' Select Archive path 'Pilih directory untuk menginstall base sistem./instmnt[ENTER]' Installing Base System, please wait 'Tunggulah sampai selesai menginstall.LANGKAH XIMembuat System Menjadi Bootable' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpada pilihan yang paling atas dengan tulisan,Next : Make System Bootable[ENTER]' When should the LILO boot loader be installed ? 'Pilih,/dev/hda : Install LILO in the MBR (use this if unsure).[ENTER]' Other bootable partitions 'Pilih,Include Put all into the menu.[ENTER]' Securing LILO '[ENTER]LANGKAH XIIMembuat Boot Floppy' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpada pilihan yang paling atas dengan tulisan,Next : Make a Boot FloppyMasukkan disket(dalam keadaan baik)ke dalam floppy disk[ENTER]' Change Disk '[ENTER]Tunggulah sementara sedang membuat boot floppyLANGKAH XIIIMereboot Komputer' Debian GNU/LINUX Installation Main Menu 'Akan ada macam-macam pilihan didalam kotak dengan bagian yang di highlightpada pilihan yang paling atas dengan tulisan,Next : Reboot The System[ENTER]' Reboot The System? 'Pilih,Yes [ENTER]Kemudian keluarkan disket dari floppy disk, sementara komputer sedang reboot.Keluarkanlah cd deal dari cdrom.Tunggu sampai muncul lilo boot seperti dibawah ini,Linux WIN/DosPilih Linux [ENTER]LANGKAH XIVKonfigurasi System DebianKemudian akan masuk ke tampilan seperti dibawah ini :' Debian System Configuration '[ENTER]' TimeZone Configuration 'Is the hardware clock set to GMTPilih,[ENTER]What area do you life in?Pilih,Asia [ENTER]Select a city or time zone:Pilih,Jakarta [ENTER]' Password setup 'Shall I enable md5 passwords?Pilih,[ENTER]Shall I enable shadow passwords?Pilih,[ENTER]Enter a password for the root:Isi saja dengan 12345[ENTER]Re-enter password to verify:Isi lagi dengan 12345[ENTER]Shall I create a normal user account now?Pilih,[ENTER]' Debian System Configuration 'Shall I remove the pcmcia packages?Pilih,[ENTER]Do you want to user a PPP connection to install the system.Pilih,[ENTER]' Apt Configuration 'Choose the method apt should user to access to Debian archive:Pilih,cdrom [ENTER]Masukkan cd deal ke dalam cdrom. Enter CD ROM device file:/dev/cdrom [ENTER]Scan another CD?pilih [ENTER]Add another apt source?pilih [ENTER]Use security updates from security.debian.org?pilih [ENTER]Run tasksel?pilih [ENTER]Run dselect?pilih [ENTER]Run dselect?pilih, [ENTER]Tunggu sementara sedang mengkonfigurasi paket apa saja yang akan diambil,sampai ada tulisan seperti di bawah ini :Do you want to continue? [Y/n]Ketikan y [ENTER]Do you want to erase any previous downloaded.deb files? [Y/n]Ketik,y [ENTER]Please enter to continue[ENTER]I can do .....[---Please return---][ENTER]You must choose one of the options below:Enter value (default='1', 'x' to restart):Ketik,5 [ENTER]'Debian System Configuration 'Have fun !Thank you for choosing Debian.[ENTER]LANGKAH XVLoginNanti akan muncul pesan seperti dibawah ini:LAB-OS-27-**** login :(**** sesuai dengan komputer tempat anda menginstall)Coba masukkan login root dan passwordnya.Setelah itu kita akan mencoba menginstall paket.Cara menginstallnya adalah dengan cara sebagai berikut:ketik perintah ini di console:apt-get install "nama paket" [ENTER]Sebagai contoh kita akan mencoba menginstall lynx.Jadi yang harus diketikkan adalah sebagai berikut :apt-get install lynx [ENTER]Do you want to continue? [Y/n]ketikan y [ENTER]Setelah selesai menginstall lynx coba ketikkan perintah ini di console :lynx kambing.vlsm.org [ENTER]Jika berhasil masuk ke halaman kambing.vlsm.org berarti anda berhasil.Selamat menggunakan Debian!Selamat mencoba di rumah!
Saturday, April 4, 2009
Program Counter???
Program CounterKamus TerkaitIstilah Articounter => pencacah; penghitungProgram => program; kerangka kerja; software/perangkat lunak; baganprogram => programprogram counter => pencacah programPenjabaranArti istilah Program Counter dianggap berkaitan erat dengan pengertian berikutRegister yang bertugas untuk mencatat alamat memori dimana instruksi di yang akan eksekusi.Istilah lain yang mungkin terkaitCounter=>Program yang melakukan proses untuk perhitungan sesuatu yang berkelanjutan.Program=>Rangkaian kegiatan atau perintah:instruction untuk dieksekusi:execution oleh komputer:computer. Pro...Programmer=>Orang:human yang membuat program, dengan membuat perintah:instruction-perintah yang dimengerti oleh ...Programming=>Suatu proses pembuatan program yang akan dijalankan oleh komputer:computer.Programmers=>Orang yang bertugas untuk membuat suatu program yang dapat digunakan pengguna komputer untuk memudah... Program counter (PC) disebut juga intruction counter adalah register yang digunakan untuk menyimpan alamat lokasi dari main memory yang berisi intruksi yang sedang diproses. selama pemrosesan intruksi dilakukan oleh CPU, isi dari program counter dirubah dengan alamat dari main memory berikutnyayang berisi intruksi selanjutnyayang mendapat giliran untuk diproses.Program counter Program, atau PC (disebut juga pointer instruksi , atau instruksi mendaftarkan alamat , atau hanya bagian dari instruksi sequencer di beberapa komputer) adalah daftar prosesor yang menunjukkan tempat komputer ini dalam urutan instruksi. Tergantung pada rincian tertentu komputer, PC memegang baik alamat instruksi yang sedang dijalankan, atau alamat instruksi berikutnya yang akan dijalankan. Dalam kebanyakan prosesor, yang merupakan instruksi pointer incremented secara otomatis setelah mengambil program pengajaran, sehingga petunjuk biasanya diambil dari memori secara berurutan, dengan instruksi tertentu, seperti cabang, melompat dan subroutine panggilan dan kembali, interrupting urutan dengan menempatkan nilai baru dalam program counter. Melompat seperti petunjuk membolehkan alamat baru yang akan dipilih sebagai awal dari sebelah bagian dari aliran instruksi dari memori. Mereka membolehkan nilai baru yang akan diambil (tertulis) ke dalam program counter mendaftar. J subroutine panggilan yang dicapai cukup lama dengan membaca isi dari program counter, sebelum mereka ditimpa oleh nilai baru, dan disimpan di suatu tempat lain dalam memori atau mendaftar. J subroutine kembali kemudian menulis dicapai oleh nilai yang disimpan kembali ke dalam program counter lagi. Bekerja dari sebuah program sederhana counter Unit pemrosesan pusat (CPU) dari komputer yang sederhana berisi hardware (control unit dan upacara ucapan alu) yang melaksanakan petunjuk tersebut, seperti yang diambil dari memori unit. Sebagian besar instruksi siklus terdiri dari CPU mengirim alamat, alamat pada bus untuk unit memori, yang kemudian merespon dengan mengirimkan isi dari lokasi memori yang meliputi data, pada data bus. (Ini adalah terikat dengan idea-program yang disimpan dalam komputer yang dieksekusi petunjuk disimpan di samping biasa data dalam memori unit, dan oleh itu sama dengan). PC hanyalah satu dari sekian banyak mendaftar di hardware dari CPU. Itu, seperti masing-masing register lainnya, terdiri dari bank dari biner latches (a binary memalangi juga dikenal sebagai tiba-tiba), dengan satu flip-flop bit per dalam integer yang akan disimpan (32 untuk 32-bit CPU, misalnya). Dalam hal PC, yang merupakan integer alamat dalam memori unit yang akan diambil berikutnya. Setelah data (dengan instruksi) telah diterima pada data bus, PC adalah incremented. Dalam beberapa CPU ini dicapai dengan menambahkan 000 .. 001 ke isinya, dan hasilnya menjadi latching register harus isi yang baru, pada kebanyakan CPU, though, PC diimplementasikan sebagai register yang internal kabel sehingga dianggap sampai ke nilai berikutnya ketika sinyal tertentu akan diterapkan ke luar. Seperti salah satu register, dalam elektronik, yang disebut sebagai binary counter, dan dengan itu asal istilah program counter. Semua sifat yg dpt meliputi program counter Keberadaan program counter dalam CPU telah mencapai jauh konsekuensi pada cara kita berpikir ketika kita program komputer, dan memang program counter (atau setara blok perangkat keras yang melayani tujuan yang sama) sangat pusat ke arsitektur von Neumann. It membebankan ketat sequencial memesan pada mengambil dari instruksi dari memori unit (aliran kontrol), bahkan di mana tidak ada sequenciality ini diterapkan oleh algoritma itu sendiri (dengan von Neumann kemacetan). Hal ini mungkin mengapa penelitian menjadi model untuk komputasi paralel dianggap, pada satu titik, tidak lain von Neumann dataflow atau model yang tidak menggunakan program counter. Sebagai contoh, bahasa pemrograman fungsional yang berharap banyak pada tingkat tinggi, dengan logika combinatory pada tingkat assembler. Bahkan kemudian, sebagian besar peneliti ini emulated di microcode konvensional komputer (karenanya masih melibatkan sebuah program counter dalam hardware), tetapi, sebenarnya, combinators sangat sederhana, mereka bisa, pada prinsipnya dilaksanakan secara langsung pada perangkat keras tanpa kembali ke microcode counter atau program sama sekali. In the end, though, hasil penelitian yang makan kembali, sebaliknya, menjadi cara untuk meningkatkan pelaksanaan kecepatan prosesor konvensional. Cara yang ditemukan untuk mengorganisir di luar aturan pelaksanaan, sehingga untuk mendapatkan informasi yang sequencing yang tersirat dalam data. Selain itu, pipa yang sangat panjang dan instruksi kata organisasi diizinkan compiler untuk mengatur beberapa perhitungan yang akan berangkat bersama. Pada awal setiap instruksi pelaksanaan, tetapi, instruksi yang harus diambil dari memori, dan ini dimulai oleh sebuah instruksi fetch siklus yang picks alamat, satu per satu, dari program counter. Bahkan bahasa pemrograman tingkat tinggi yang memiliki program-counter konsep berurat berakar mendalam dalam perilaku mereka. Anda hanya perlu untuk melihat bagaimana programmer debugs atau mengembangkan program komputer untuk melihat bukti ini, dengan pemrogram menggunakan jari untuk menunjuk ke baris berturut-turut dalam program untuk model langkah-langkah pelaksanaannya. Memang, sebuah bahasa pemrograman tingkat tinggi yang tidak kurang daripada assembler bahasa tinggi mesin virtual - sebuah komputer yang akan terlalu rumit untuk biaya-efektif untuk membangun secara langsung dalam perangkat keras, sehingga adalah melaksanakan, bukan menggunakan beberapa kerang dari pertandingan (dengan compiler atau interpreter menyediakan tingkat yang lebih tinggi, dan microcode menyediakan tingkat bawah).

Jumat, 10 April 2009