Kamis, 02 April 2009

Program counter

Program, atau PC (disebut juga pointer instruksi [1], atau instruksi mendaftarkan alamat [2], atau hanya bagian dari instruksi sequencer [3] di beberapa komputer) adalah daftar prosesor yang menunjukkan tempat komputer ini dalam urutan instruksi. Depending on the details of the particular computer, the PC holds either the address of the instruction being executed , or the address of the next instruction to be executed . 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 sebuah program pengajaran, sehingga petunjuk biasanya diambil dari memori secara berurutan, dengan instruksi tertentu, seperti kantor cabang, melompat dan subroutine panggilan dan kembali, interrupting urutan dengan menempatkan nilai baru dalam program counter.

Mereka membolehkan nilai baru yang akan diambil (tertulis) ke dalam program counter mendaftar. A subroutine call is achieved simply by reading the old contents of the program counter, before they are overwritten by a new value, and saved somewhere in memory or in another register. 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. A subroutine return is then achieved by writing the saved value back in to the program counter again. J subroutine kembali kemudian menulis dicapai oleh nilai yang disimpan kembali ke dalam program counter lagi.

Bekerja dari sebuah program sederhana counter

Di pusat pengolahan unit (CPU) dari komputer yang sederhana berisi hardware (unit kontrol dan upacara ucapan alu) yang melaksanakan petunjuk tersebut, seperti yang diambil dari memori unit. Most instruction cycles [ 4 ] consist of the CPU sending an address , on the address bus , to the memory unit , which then responds by sending the contents of that memory location as data , on the data bus . Sebagian besar instruksi siklus [4] terdiri dari CPU mengirim alamat pada bus alamat, ke memori unit, yang kemudian merespon dengan mengirimkan isi dari lokasi memori yang meliputi data, pada data bus. (This is tied up with the idea of the stored-program computer in which executable instructions are stored alongside ordinary data in the memory unit , and handled identically by it [ 5 ] ). (Hal ini sangat sibuk dengan ide yang disimpan-program komputer yang dieksekusi dalam petunjuk disimpan di samping biasa data dalam memori unit, dan oleh itu sama dengan [5]).

PC hanyalah satu dari sekian banyak mendaftar di hardware dari CPU. It, like each of the other registers, consists of a bank of binary latches (a binary latch is also known as a flip-flop ), with one flip-flop per bit in the integer that is to be stored [ 6 ] (32 for a 32-bit CPU, for example). 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 [6] (32 untuk 32-bit CPU, misalnya). In the case of the PC, the integer represents the address in the memory unit that is to be fetched next. 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. In some CPUs this is achieved by adding 000..001 to its contents, and latching the result into the register to be its new contents; on most CPUs, though, the PC is implemented as a register that is internally wired so that it counts up to the next value when a specific signal is applied to it externally [ 7 ] . 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 [7]. Such a register , in electronics, is referred to as a binary counter , and hence the origin of the term program counter . Seperti mendaftar, 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 [8]) sangat pusat ke arsitektur von Neumann.

It membebankan ketat sequencial memesan pada mengambil dari instruksi dari memori unit (yang aliran kontrol), bahkan di mana tidak ada sequenciality ini diterapkan oleh algoritma itu sendiri (yang von Neumann kemacetan). This is why research into possible models for parallel computing considered [ 9 ] , at one point, other non von Neumann or dataflow models that did not use a program counter. Hal ini mungkin mengapa penelitian menjadi model untuk komputasi paralel dianggap [9], pada satu titik, tidak lain von Neumann atau dataflow model yang tidak menggunakan program counter. For example, functional programming languages offered much hope at the high level, with combinatory logic at the assembler level. Misalnya, pemrograman fungsional bahasa yang berharap banyak pada tingkat tinggi, dengan combinatory logika di tingkat assembler. Even then, most of the researchers emulated this in the microcode of conventional computers (hence still involving an program counter in the hardware); but, in fact, combinators are so simple, they could, in principle, be implemented directly in the hardware without recourse to microcode or program counters at all. 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. Ways were found for organising out-of-order execution so as to extract the sequencing information that is implicit in the data. Cara yang ditemukan untuk mengorganisir di luar aturan pelaksanaan, sehingga untuk mendapatkan informasi yang sequencing yang tersirat dalam data. Also, the pipeline and very long instruction word organisations allowed the compiler to arrange for multiple calculations to be set off in parallel. Selain itu, pipa dan sangat panjang instruksi kata organisasi diizinkan compiler untuk mengatur beberapa perhitungan yang akan berangkat bersama. At the start of each instruction execution, though, the instruction needs to be fetched from memory, and this is initiated by an instruction fetch cycle that picks addresses, one at a time, from the program counter. 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. You need only to watch how a programmer develops or debugs a computer program to see evidence of this, with the programmer using a finger to point to successive lines in the program to model the steps of its execution. 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. Indeed, a high level programming language is no less than the assembler language of a high level virtual machine [ 10 ] -- a computer that would be too complex to be cost-effective to build directly in hardware, so is implement instead using multiple shells of emulation (with the compiler or interpreter providing the higher levels, and the microcode providing the lower levels). Memang, sebuah bahasa pemrograman tingkat tinggi yang tidak kurang daripada assembler bahasa tinggi mesin virtual [10] - 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 lebih tinggi, dan microcode menyediakan tingkat bawah).

Pedoman Umum Instalasi Linux

Menginstalasi Linux sulit ? Tidak lagi. Mungkin dua-tiga tahun yang lalu memang benar karena pilihan distro yang terbatas dan belum nge-trend-nya penggunaan Linux sebagai sistem operasi desktop sehingga instalasi Linux hanya bisa dilakukan para opreker atau para system administrator yang menggunakan Linux untuk server. Booming Linux yang terjadi mulai tahun 1999 telah mendorong lahirnya distro-distro baru yang menekankan pada kemudahan instalasi dan konfigurasi. Distro-distro lama, umumnya yang berbasis perusahaan komersial pun berlomba-lomba mempermudah metode instalasinya. Sekarang ini hampir semua disto populer menggunakan metode instalasi berbasis grafis yang mirip instalasi Windows.

Sebelum menginstalasi Linux, hendaknya dilakukan persiapan sebagai berikut :

  1. Fisik dan mental, dan waktu yang cukup luang
  2. Catat dan kalau bisa hafalkan konfigurasi teknis PC anda, mulai dari tipe prosesor, chipset motherboard, kapasitas harddisk, ukuran RAM, merk dan spek teknis VGA card (besar RAM, tipe chipset), sound card (chipset, IRQ, I/O address, DMA), monitor (tipe, resolusi max, refresh rate vertikal/ horisontal), mouse (port, jumlah tombol), keyboard, printer, CD-ROM drive, ethernet card, modem, dan apapun yang melekat ke PC anda.
  3. Siapkan media source instalasi. Umumnya, dan sangat disarankan, untuk melakukan instalasi menggunakan CD. Kecuali distro-distro terbaru (RedHat 7, SuSE 7, Mandrake 7.x, yang menggunakan 2 CD) CD yang digunakan hanya CD pertama (CD instalasi).
  4. Persiapkan space harddisk untuk menampung Linux, gunakan software partisi seperti MS-DOS FDisk (hanya untuk hardisk kosong), FIPS, atau PartitionMagic (disarankan versi 4 ke atas) bagi yang ingin menggunakan Linux bersama-sama sistem operasi lain (biasanya Windows). Sediakan space minimum 500 MB, disarankan 1 GB ke atas. Catatan : Bila anda menggunakan PartitionMagic anda bisa langsung membuat partisi ext2 (sistem file Linux) dan swap, dan memformatnya sekaligus.
  5. Persiapkan media boot. Jika PC anda bisa disetel untuk booting dari CD-ROM, lakukan setting agar sistem di-boot dari CD-ROM lebih dahulu. Jika tidak bisa, lakukan instalasi dari Windows (menggunakan loadlin), atau membuat bootdisk (menggunakan program RAWrite, cari di CD instalasi, lalu gunakan image yang tersedia di \img), dan jangan lupa menyetel urutan boot ke floppy (A:) terlebih dulu.

Instalasi Linux secara umum dibagi menjadi :

  1. Inisialisasi hardware, yang meliputi : deteksi mouse, keyboard, adapter SCSI (kalau ada).
  2. Pengaturan partisi, dengan asumsi bahwa Linux akan digunakan bersama-sama sistem operasi lain (di sini diasumsikan Windows). Bagilah partisi kosong (yang tidak ditandai sistem file FAT/FAT32/DOS/Win atau partisi kosong yang sengaja disiapkan) minimum menjadi dua partisi, / (root) dan swap. Supaya lebih mudah, buatlah partisi swap lebih dahulu, besarnya kurang lebih dua kali kapasitas RAM, maksimum 128 MB per partisi (partisi swap bisa lebih dari satu), baru sisanya untuk partisi / (root). Untuk distro terbaru, biasanya disediakan opsi partisi otomatis.
  3. Pemilihan paket software, menginstal satu distro berarti menginstal software aplikasinya. Anda bisa memilih satu per satu, menggunakan sistem menu (namun ingat, untuk distro Debian ada 4000 paket!) atau menggunakan sistem preconfigured, seperti pada Caldera atau SuSE. Jika anda bingung, lewati saja tahapan ini, selanjutnya anda dapat menggunakan tool packaging untuk menambah / mengurangi paket yang terinstal.
  4. Inisialisasi sistem, meliputi pemilihan daerah waktu, pemilihan password root (administrator), penambahan user (jika perlu), konfigurasi jaringan, dan konfigurasi GUI (X Server), serta konfigurasi boot loader (pemilih sistem operasi). Setelah selesai, sistem akan di-boot ulang. Jangan lupa mengeluarkan media boot (bootdisk, CD-ROM) agar proses instalasi tidak berulang lagi.

Metode di atas bersifat sangat umum. Untuk masing-masing distro, akan dijelaskan di bawah ini :

  1. RedHat(juga Trustix, Mandrake) : Yang menggunakan distro RedHat di bawah versi 6.1 dan Mandrake di bawah versi 7.0 (metode instalasi non-grafis), hal-hal yang perlu diperhatikan adalah : penggunaan Disk Druid untuk mempartisi, lakukan delete partition, new, masukkan besar space, tipe (Linux ext2 atau swap), mount point (/), grow (dipilih untuk partisi /).
  2. SuSE(di bawah versi 6.3) : Program partisinya agak membingungkan, prinsipnya hampir sama, buat swap dulu, baru root. Distro ini menyediakan konfigurasi software paket (basic, all, popular, programming, etc). Selesai instalasi anda harus login sebagai root dan menjalankan YaST untuk mengkonfigurasi ulang sebelum reboot. Catatan Penulis : untuk dapat menggunakan instalasi grafis (versi 6.3 ke atas), PC anda harus mempunyai RAM minimum 48 MB.
  3. Slackware: Software partisinya menggunakan Cfdisk (tampilan teks), gunakan menu yang tersedia di bawah. Ketikkan setup setelah selesai mempartisi untuk memulai instalasi. Pilih menu dari atas ke bawah satu per satu, dan ikuti instruksi sampai selesai.
  4. Debian/GNU: Metode instalasinya paling 'ribet' dan tidak disarankan bagi pemula dan yang kurang berminat ngoprek serta tak punya banyak waktu. Setelah mempartisi, anda harus mengkonfigurasi ulang modul-modul kernel, menginstal base system, langsung reboot, baru memilih paket software. Disarankan menginstal MC (Midnight Commander, versi GNU dari Norton Commander) labih dulu, baru menginstalasi yang lain menggunakan MC.
  5. Caldera (juga EasyLinux): Instalasinya sudah 100% grafis sehingga nyaris tidak ada kesulitan berarti bagi pemula. Anda bahkan bisa bermain tetris sambil menunggu semua paket software terinstalasi.