Piranti Proses (Processing Device)
A. PENGERTIAN PIRANTI PROSES
Piranti proses adalah adalah alat dimana instruksi – instruksi program diproses
untuk mengolah data yang sudah dimasukkan lewat Peranti masukan dan hasilnya
akan ditampilkan di Peranti keluaran. Saat komputer berjalan,
terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat
melalui system call create-process yang membentuk proses turunan ( child
process) yang dilakukan oleh proses induk (parent process). Proses
turunantersebut juga mampu membuat.
Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi. Pranti proses terdiri dari Central Processing Unit (CPU) dan Main Memory .
B.
PENGELOLAAN
PROSES
Proses perlu dikelola karena dalam sebuah proses membutuhkan beberapa sumber
daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time,
memori, berkas-berkas, dan perangkat-perangkat I/O. Perkembangan sistem
komputer mendatang adalah menuju ke sistem multi- processing, multiprogramming,
terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan
bersama dalam waktu yang bersamaan. Hal demikian merupakan masalah yang perlu
perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang
bersamaan terdapat lebih dari satu proses disebut dengan kongkurensi
(proses-proses yang kongkuren).
Proses-proses yang mengalami kongkuren dapat berdiri sendiri (independen) atau dapat saling berinteraksi, sehingga membutuhkan sinkronisasi atau koordinasi proses yang baik. Proses tersebut tidak lepas dari peran prosesor sebagai pengendali dari berjalannya sebuah proses.
1. CPU (Central Processing Unit)
CPU merupakan tempat pemrosesan instruksi-instruksi program.Pada
komputer mickro, prosesor ini disebut mikro prosesor. CPU terdiri dari 2
bagian utama, yaitu unit kendali (control unit) dan unit arithmatika dan logika
( arithmatik and logic unit). Disamping 2 bagian utama, CPU mempunyai beberapa
bagian penting yang disebut dengan register .
1.1.
Control
Unit
Bagian ini bertugas untuk mengatur dan mengendalikan semua
peralatan yang ada pada sistem komuter serta mengatur kapan alat menerima data dan
kapan data diolah, serta kapan ditampilakan pada alat output. Selain iu control
unit mengartikan instruksi-instrusi dasri progam computer membawa data input ke
memory. Bila ada instruksi pada arithmatika atau perbandingan logika control
unit mengirim instruksi tersebut ke arithmetic and logic unit. Hasil dari
pengolahan data ini dibawa oleh control unit ke main memory untuk di simpan.
Pada awal-awal desain komputer, CU diimplementasikan sebagai
ad-hoc logic yang susah untuk didesain. Sekarang, CU diimplementasikan sebagai
sebuah microprogram yang disimpan di dalam tempat penyimpanan kontrol (control
store). Beberapa word dari microprogram dipilih oleh microsequencer dan bit
yang datang dari word-word tersebut akan secara langsung mengontrol
bagian-bagian berbeda dari perangkat tersebut, termasuk di antaranya adalah
register, ALU, register instruksi, bus dan peralatan input/output di luar chip.
Pada komputer modern, setiap subsistem ini telah memiliki kontrolernya
masing-masing, dengan CUTugas control unit adalah sebagai berikut :
a.
Mengatur dan mengendalikan
alat-alat input dan output.
b.
Mengabil instruksi dari
main memory.
c.
Mengambil data dari min
memory kalau diperlukan oleh proses.
d.
Mengirim instruksi ke
arithmetic and logic unit bila ada perhitungan arithmatika atau perbandingan
logika serta mengawasi kerja arithmetic and logic unit.
e.
Menyimpan hasil proses ke
main memory.
Masukan-masukan unit
control:
a.
Clock / pewaktu
Pewaktu adalah cara unit control dalam menjaga waktunya. Unit
control menyebabkan sebuah operasi mikro (atau sejumlah operasi mikro yang
bersamaan) dibentuk bagi setiap pulsa waktu.Pulsa ini dikenal sebagai waktu
siklus prosesor.
b.
Register instruksi
opcode instruksi saat itu digunakan untuk menentukan operasi mikro
mana yang akan dilakukan selama siklus eksekusi.
c. Flag
Flag ini diperlukan oleh unit control untuk menentukan status
prosesor dan hasil operasi ALU sebelumnya.
d. Sinyal control untuk
mengontrol bus
Bagian bus control bus system memberikan sinyal-sinyal ke unit
control, seperti sinyal-sinyal interupsi dan acknowledgement
Macam-macam CU
a.
Single-Cycle CU
Proses di CUl ini hanya terjadi dalam satu clock cycle, artinya
setiap instruksi ada pada satu cycle, maka dari itu tidak memerlukan state.
Dengan demikian fungsi boolean masing-masing control line hanya merupakan
fungsi dari opcode saja. Clock cycle harus mempunyai panjang yang sama untuk
setiap jenis instruksi. Ada dua bagian pada unit kontrol ini, yaitu proses men-decode
opcode untuk mengelompokkannya menjadi 4 macam instruksi (yaitu di gerbang
AND), dan pemberian sinyal kontrol berdasarkan jenis instruksinya (yaitu
gerbang OR). Keempat jenis instruksi adalah “R-format” (berhubungan dengan
register), “lw” (membaca memori), “sw” (menulis ke memori), dan “beq”
(branching).Sinyal kontrol yang dihasilkan bergantung pada jenis instruksinya.
Misalnya jika melibatkan memori ”R-format” atau ”lw” maka akan sinyal
”Regwrite” akan aktif. Hal lain jika melibatkan memori “lw” atau “sw” maka akan
diberi sinyal kontrol ke ALU, yaitu “ALUSrc”. Desain single-cycle ini lebih
dapat bekerja dengan baik dan benar tetapi cycle ini tidak efisien.
b.
Multi-Cycle CU
Berbeda dengan unit kontrol yang single-cycle, unit kontrol yang
multi-cycle lebih memiliki banyak fungsi. Dengan memperhatikan state dan
opcode, fungsi boolean dari masing-masing output control line dapat ditentukan.
Masing-masingnya akan menjadi fungsi dari 10 buah input logic. Jadi akan
terdapat banyak fungsi boolean, dan masing-masingnya tidak sederhana. Pada
cycle ini, sinyal kontrol tidak lagi ditentukan dengan melihat pada bit-11 bit
instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan
dijalankan CPU; bukan instruksi cycle selanjutnya
1.2.
Arihmatic
And Logic Unit
Tugas utama dari arithmetic and logic unit (ALU) adalah melakukan
semua perhitungan arithmatika atau matematika yang terjadi sesuai dengan,
seperti pengurangan, perkalian, pembagian, dan penjumlahan. Tugas lain dari ALU
melakukan keputusan dari logika sesuai dengan instruksi progam. Operasi logika
meliputi 2 buah elemen dengan operator logika yaitu :
a. Sama
dengan ( = )
b. Tidak
sama dengan ( ≠ )
c. Kurang
dari ( < )
d. Kurang
dari sama dengan ( ≤ )
e. Lebih
besar dari ( > )
f. Lebih
dari sama dengan ( ≥ )
1.3.
Register
Merupakan simpanan kecil yang mempunyai
kecepatan tinggi lebih cepat 5 -10 kali dibandingkan dengan kecepatan perekaman
atau pengambilan data di main memory. Register digunakan untuk menyimpan
instruksi dan data yang diproses oleh CPU sedangkan instruksi-instruksi dan
data lainnya yang menunggu giliran untuk diproses masih disimpan di main
memory.
Secara analog, register ini diibaratkan
dengan ingatan di otak bila anda melakukan pengolahan data secara manual.
Sehingga otak dapat diibaratkan sebagai CPU, yang berisi ingatan-ingatan,
satuan kendali yang mengendalikan seluruh kegiatan tubuh dan yang
tempat untuk melakukan perhitungan dan perbandingan logika.
Progam kumpulan data yang diletakan di main
memory dapat diibaratkan sebagai sebuah meja. Progam tersebut akan memproses
instruksi-instruksi yang didalamnya memulai dari instruksi pertama. Instruksi
yang di baca dan di ingat (instruksi yang sedang diproses disimpan di
register). Misalnya instruksi tersebut berbunyi HITUNG C = A + B, maka anda
membutuhkan data untuk nilai A dan B yang masih ada di meja. Data tersebut anda
baca dan masuk ke dalam ingatan. (data yang sedang proses di simpan di
register), yaitu A bernilai 2 dan B bernilai 3. Sekarang di ingatan otak anda
telah tersimpan suatu instruksi dan nilai dari C dapat anda hitung hasilnya,
yaitu sebesar 5. Hasil dari perhitungan ini perlu anda tuliskan kembali ke meja
(hasil pengolahan direkam kembali ke main memory) setelah semua instruksi
selesai anda proses, kemungkinan program, data dan hasil pengolahan ingin anda
simpan secara permanen untuk keperluan di lain hari dan dapat anda simpan di
filling cabinet. Jadi ada 3 macam ingatan yang dipergunakan di dalam sistem
komuter yaitu: sebagai berikut,
a. Register,
dipergunakan untuk menyimpan instruksi dan data yang sedang di proses
b. Main
memory, dipergunakan untuk menyimpan instruksi dan data yang diproses dan hasil
dari pengolahan.
c. External
memory (simpanan luar) , dipergunakan untuk menyimpan program dan data secar
permanen.
Register yang berubungan dengan instruksi
yang sedang diproses adalah instruction register dan program counter.
Instruction register (IR) atau di sebut juga progam register digunakan untuk
menyimpan instruksi yang sedang diproses. Progam yang berisi kumpulan dari
instruksi, pertama kali ditempatkan di main memory. Pemrosesan dilakukan
instruksi perinstruksi. Instruksi yang mendapat giliran untuk diproses, diambil
dari main memory dan disimpan di instruction register (IR).
Progam Counter (PC) adalah register yang
dilakukan untuk menyimpan alamat (address) lokasi dari main memory yang berisi
instruksi yang sedang di proses. Selama pemrosesan instruksi yang dilakukan
oleh CPU, isi dari PC dirubah dengan alamat main memory.
Register yang berhubungan dengan data yang
sedang dip roses adalah general purpose register. Untuk beberapa computer
diberi symbol R0, R1, R2. … Rn yang mempunyai kegunaan umum seperti menampung
data yang sedang diolah (operand register) dan untuk menampung hasil pengolahan
(accumulator).
Operand register digunakan untuk menampung
data atau operand yang sedang dioperasikan. Sedangkan accumulator adalah
register yang digunakan untuk menyimpan hasil dari operasi arithmatika dan
operasi logika yang dilakukan oleh ALU. Misalnya operand register mempunyai wordsize 16 bit, maka
processor tersebut disebut 16 bit processor yaitu pada intel 8088.
Register lainnya yang digunakan sebagai jembatan antara CPU dengan main memory adalah memory address register (MAR) yang digunakan untuk menampung data atau instruksi hasil pengiriman dari main memory ke CPU untuk menampung data yang akan direkam ke main memory hasil pengolahan ke CPU. dan memory data register (MDR) yang digunakan untuk menampung alamat data atau instruksi di main memory yang akan diambil atau direkam. Register ini yang dihubungkan dengan suatu jalur (BUS) ke main memory. Selain itu adapun yang disebut register processor yaitu 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. 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 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.
Register lainnya yang digunakan sebagai jembatan antara CPU dengan main memory adalah memory address register (MAR) yang digunakan untuk menampung data atau instruksi hasil pengiriman dari main memory ke CPU untuk menampung data yang akan direkam ke main memory hasil pengolahan ke CPU. dan memory data register (MDR) yang digunakan untuk menampung alamat data atau instruksi di main memory yang akan diambil atau direkam. Register ini yang dihubungkan dengan suatu jalur (BUS) ke main memory. Selain itu adapun yang disebut register processor yaitu 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. 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 16-bit", "register 32-bit", atau "register 64-bit" dan lain-lain.
Istilah register saat ini dapat merujuk kepada kumpulan register
yang dapat diindeks 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 mendefinisikan sekumpulan delapan buah register dengan ukuran 32-bit,
tapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari
delapan register 32-bit. Register terbagi menjadi beberapa kelas:
§ Register data, yang digunakan untuk
menyimpan angka-angka dalam bilangan bulat (integer).
~~Register alamat, yang digunakan untuk
menyimpan alamat-alamat memori dan juga untuk mengakses memori.
~~Register general purpose, yang dapat
digunakan untuk menyimpan angka dan alamat secara sekaligus.
~~Register floating-point, yang digunakan
untuk menyimpan angka-angka bilangan titik mengambang (floating-point).
~~Register konstanta (constant register),
yang digunakan untuk menyimpan angka-angka tetap yang hanya dapat dibaca (bersifat
read-only), semacam phi, null, true, false dan lainnya.
~~Register vektor, yang digunakan untuk
menyimpan hasil pemrosesan vektor yang dilakukan oleh prosesor SIMD.
~~Register special purpose yang dapat
digunakan untuk menyimpan data internal prosesor, seperti halnya instruction
pointer, stack pointer, dan status register.
~~Register yang spesifik terhadap model
mesin (machine-specific register), dalam beberapa arsitektur tertentu,
digunakan untuk menyimpan data atau pengaturan yang berkaitan dengan prosesor
itu sendiri. Karena arti dari setiap register langsung dimasukkan ke dalam
desain prosesor tertentu saja, mungkin register jenis ini tidak menjadi standar
antara generasi prosesor. Berikut ini adalah ukuran register dan padanan prosesornya
Register
|
Prosesor
|
4-bit
|
Intel 4004
|
8-bit
|
Intel 8080
|
16-bit
|
Intel 8086, Intel 8088,
Intel 80286
|
32-bit
|
Intel 80386, Intel 80486,
Intel Pentium Pro, Intel Pentium, Intel Pentium 2, Intel Pentium 3, Intel
Pentium 4, Intel Celeron, Intel Xeon, AMD K5, AMD K6, AMD Athlon, AMD Athlon
MP, AMD Athlon XP, AMD Athlon 4, AMD Duron, AMD Sempron
|
64-bit
|
Intel Itanium, Intel
Itanium 2, Intel Xeon, Intel Core, Intel Core 2, AMD Athlon 64, AMD Athlon
X2, AMD Athlon FX, AMD Turion 64, AMD Turion X2, AMD Sempron
|
1.4.
Array
Processor
Digunakan untuk mempercepat waktu process.Dengan Array processor,
perhitungan arithmatika yang besar dan yang sulit dapat dilakukan dengan
memecah atau membagi perhitungan tersebut dan dilakukan bersama-sama atau
central processor dan array processor.Jadi fungsi utama array processor adalah
untuk perhitungan matematika yang rumit, yang disebut math-processor atau
numeric data processor.
2. Main Memory
CPU hanya dapat menyimpan data dan instruksi di register yang
ukurannya kecil, sehingga tidak dapat menyimpan nama informasi yang dibutuhkan
untuk keseluruhan proses dari progam.
Main Memory dapat dibayangkan sebagai sekumpulan kotak-kotak yang
masing-masing kotak dapat menyimpan suatu fungsi penggal informasi baik berupa
data maupun instruksi.Tiap-tiap lokasi dari kotak ditunjukkan oleh suatu
alamt.Alamat memory merupakan suatu nomor yang menunjukan loksi tertentu dari
kotak memory. Main memory terdiri dari RAM dan ROM
2.1. RAM
(Random Acces Memory)
Merupakan jenis memori yang isinya dapat diganti-ganti selama
komputer sihidupkan dan sebagai suatu penyimpanan data yang dapat dibaca atau
ditulis dan dapat dilakukan secara berulang-ulang dengan data yang
berbeda-beda. Jenis memori ini merupakan jenis volatile (mudah menguap), yaitu
data yang tersimpan akan hilang jika catu dayanya dimatikan. Karena alasan
tersebut, maka program utama tidak pernah disimpan di RAM. Random artinya data
yang disimpan pada RAM dapat diakses secara acak. Modul memori RAM yang umum
diperdagangkan berkapasitas 128 MB, 256 MB, 512 MB, 1 GB, 2 GB, dan 4 GB.
RAM dibagi lagi menjadi dua jenis, yaitu
jenis Statik dan Dinamik. RAM statik menyimpan satu bit informasi dalam sebuah flip-flop. RAM
statik biasanya digunakan untuk aplikasi-aplikasi yang tidak memerlukan
kapasitas memori RAM yang besar. RAM dinamik menyimpan satu bit
informasi data sebagai muatan. RAM dinamik menggunakan kapasitansi gerbang
substrat sebuah transistor MOS sebagai sel memori elementer. Untuk menjaga agar
data yang tersimpan RAM dinamik tetap utuh, data tersebut harus disegarkan
kembali dengan cara membaca dan menulis ulang data tersebut ke memori. RAM
dinamik ini digunakan untuk aplikasi yang memerlukan RAM dengan kapasitas
besar, misalnya dalam sebuah komputer pribadi (PC).
Semua data dan progam yang dimasukan lewat alat
input akan disimpan terlebih dahulu di main memory, khususnya di RAM. RAM
merupakan memory yang dapat di akses yaitu diisi dan diambil isinya oleh
programmer. Struktur dari RAM dibai menjadi 4 bagian, yaitu :
§
Input storage, digunakan untuk menampung input
yang dimasukan lewat alat input.
§
Progam storage, digunakan untuk menyimpan semua
instruksi-instruksi progam yang akan diproses.
§
Working storage, digunakan untuk menyimpan data
yang akan diolah dan hasil dari pengolahan.
§
Output storage, digunakan untuk menampung hasil
akhir dari pengolahan data yang akan ditampilkan ke alat output.
Input yang dimasukkan lewat alat input, pertama
kali ditamping terlebih dahulu di input storage, bila input tersebut berbentuk
progam, maka dipindahkan ke progam storage dan bila berbentuk data, akan
dipindahkan ke working storage. Hasil dari pengolahan juga ditampung di working
storage dan hasil yang akan di tampilkan ke alat output dipindahkan ke output
storage.
RAM mempunyai kemampuan untuk melakukan
pengecekan dari data yang disimpannya, yang disebut dengan isitilah parity
check. Bila data hilang atau rusak, dapat diketahui dari ebuah bit tambahan
yang disebut dengan parity bit atau check bit.
2.2. ROM (
Read Only Memory)
Merupakan perangkat keras pada komputer berupa
chip memori semikonduktor yang isinya hanya dapat dibaca. Jenis
memori ini datanya hanya bisa dibaca dan tidak bisa ditulis secara
berulang-ulang. Memori ini berjenis non-volatile, artinya data yang disimpan
tidak mudah menguap (hilang) walaupun catu dayanya dimatikan. Karena itu memori
ini biasa digunakan untuk menyimpan program utama dari suatu sistem. ROM pada
komputer disediakan oleh vendor komputer dan berisi program atau data.Di dalam
PC, ROM biasa disebut BIOS (Basic Input/Output System) atau ROM-BIOS. Instruksi
dalam BIOS inilah yang akan dijalankan oleh mikroprosesor ketika komputer mulai
dihidupkan.
Sampai sekarang dikenal beberapa jenis ROM
yang pernah beredar dan terpasang pada komputer, antara lain PROM :
· PROM
(Progammable Read-Only-Memory) : Jika isi ROM ditentukan oleh vendor, PROM dijual
dalam keadaan kosong dan kemudian dapat diisi dengan program oleh pemakai.
Setelah diisi dengan program, isi PROM tak bisa dihapus.
· EPROM
(Erasable Programmable Read-Only-Memory) : Berbeda dengan PROM, isi EPROM dapat
dihapus setelah diprogram. Penghapusan dilakukan dengan menggunakan sinar
ultraviolet.
EEPROM
(Electrically Erasable Programmable Read-Only0Memory) : EEPROM dapat menyimpan
data secara permanen, tetapi isinya masih bisa dihapus secara elektris melalui
program. Salah satu jenis EEPROM adalah Flash Memory. Flash Memory biasa
digunakan pada kamera digital, konsol video game, dan cip BIOS.
Memory ini hanya dapat dibaca saja, programmer
tidak bisa mengisi sesuatu ke dalam ROM. Isi ROM sudah diisi oleh pabrik
pembuatnya, berupa system operasi (Operasi System) yang terdiri dari
progam-progam pokok yang diperlukan oleh sistem komputer, seperti misalnya
progam untuk mengatur penampilan karakter di layar, pengisian tombol kunci di
keyboard untuk keperluan kontrol tertentu bootstrap progam. Beberapa komputer
misalnya komputer mikcro apple dan IBM PC, ROM juga diisi dengan progam
interpreter BASIC.
Bootsrap progam diperlukan pada waktu pertama
kali sistem komputer diaktifkan, yang proses ini sering kali diistilahkan
sebagai booting yang dapat berupa cold booting dan warm booting. Cold booting
merupakan proses pengaktifan sistem komputer pada saat pertama kali, untuk
mengambil proses bootstrap progam dari keadaan listrik komputer mati dengan
cara menghidupkannya, sedangkan warm botting merupakan proses pengulangan
pengambilan bootstrap progam pada saat komputer hidup dengan cara menekan
beberapa tombol tertentu di keyboard seperti (Ctrl + Alt + Del) yang ditekan
secara bersamaan. Warm booting ini biasanya dilakukan saat sistem komputer
macet atau mengalami hangout.
Instruksi-instruksi yang disimpan di ROM
disebut dengan microinstructions atau microcode atau disebut juga dengan
firmware, karena hardware dan software dijadikan satu oleh pabrik pembuatnya.
ROM itu sendiri adalah hardware sedang microinstructions adalah software.
Isi dari ROM tidak boleh hilang atau rusak,
bila terjadi demikian, maka sistem komputer tidak akan berfungsi. Oleh karena
itu, untuk mencegahnya, pabrik komputer merancang ROM sedemikian rupa sehingga
hanya bisa dibaca saja, tidak dapat diisi oleh progammer supaya tidak terganti
oleh isi yang lain yang dapat menyebabkan isi ROM rusak.
2.3. Cache
memory
Sebagai tambahan dari register, beberapa CPU
menggunakan suatu cache memory atau disebut dengan scratch-pad memory atau
high-speed buffer atau buffer memory dengan maksud supaya kerja dari CPU
lebih efesien dan mengurangi waktu yang terbuang. Tanpa cache memory, CPU akan
menunggu data atau instruksi diterima dari main memory atau menunggu hasil
pengolahan selesai dikirim ke main memory baru proses selanjutnya bisa
dilakukan, padalah proses dari main memory lebih lambat dibandingkan dengan
kecepatan register. Cache memory diletakkan diantara CPU dengan main memory.
Cache memory harus lebih cepat dari main memory
dan mempunyai ukuran yang cukup besar, tetapi tidak sebesar main memory.
Sebenarnya cache memory tidak diperlukan bilamana main memory dibuat secepat
cache memory, tetapi cara demikian tidaklah ekonomis.
Cache berasal dari kata cash yakni sebuah tempat menyembunyikan
atau tempat menyimpan sementara.Sesuai definisi tersebut Cache Memory
adalah tempat menyimpan data sementara. Cara ini dimaksudkan untuk meningkatkan
transfer data dengan menyimpan data yang pernah diakses pada cache tersebut,
sehingga apabila ada data yang ingin diakses adalah data yang sama maka maka
akses akan dapat dilakukan lebih cepat. Cache memori ini terletak
antara register dan memory utama sehingga pemrosesan data tidak langsung mengacu
pada memori utama.
Penggunaan cache ditujukan untuk meminimalisir
terjadinya bottleneck dalam aliran data antara processor dan RAM. Sedangkan
dalam terminologi software, istilah ini merujuk pada tempat penyimpanan
sementara untuk beberapa file yang sering diakses (biasanya diterapkan dalam
network).
Dengan cache memory, sejumlah blok informasi di
main memory dipaindahkan ke cache memory dan selanjutnya CPU akan berhubungan
dengan cache memory.
1.
Jenis -
Jenis Cache Memory
L1 cache terintegrasi dengan chip prosesor, artinya letak L1 cache
sudah menyatu dengan chip prosesor (berada di dalam keping prosesor).Sedangkan
letak L2 cache, ada yang menyatu dengan chip prosesor, ada pula yang terletak
di luar chip prosesor, yaitu di motherboard dekat dengan posisi dudukan
prosesor.Pada era prosesor intel 80486 atau sebelumnya,
letak L2 cache kebanyakan berada di luar chip prosesor. Chip cache terpisah
dari prosesor, berdiri mandiri dekat chip prosesor. Sejak era prosesor Intel
Pentium, letak L2 cache ini sudah terintegrasi dengan chip prosesor (menyatu
dengan keping prosesor). Posisi L2 cache selalu terletak antara L1 cache dengan
memori utama (RAM). Sedangkan L3 cache belum diimplementasikan secara umum pada
semua jenis prosesor. Hanya prosesor-prosesor tertentu yang memiliki L3 cache.
Cache memory yang letaknya terpisah dengan prosesor disebut cache
memory non integrated atau diskrit (diskrit artinya putus atau terpisah). Cache
memory yang letaknya menyatu dengan prosesor disebut cache memory integrated,
on-chip, atau on-die (integrated artinya bersatu/menyatu/ tergabung, on-chip
artinya ada pada chip).
L1 cache (Level 1 cache) disebut pula dengan istilah primary cache,
first cache, atau level one cache. L2 cache disebut dengan istilah secondary
cache, second level cache, atau level two cache.
2.
Kecepatan cache memory ,
Transfer data dari L1 cache ke prosesor terjadi paling cepat
dibandingkan L2 cache maupun L3 cache (bila ada). Kecepatannya
mendekati kecepatan register. L1 cache ini dikunci pada kecepatan yang sama
pada prosesor. Secara fisik L1 cache tidak bisa dilihat dengan mata telanjang.
L1 cache adalah lokasi pertama yang diakses oleh prosesor ketika mencari
pasokan data. Kapasitas simpan datanya paling kecil, antara puluhan hingga
ribuan byte tergantung jenis prosesor. Pada beberapa jenis prosesor pentium
kapasitasnya 16 KB yang terbagi menjadi dua bagian, yaitu 8 KB untuk menyimpan
instruksi, dan 8 KB untuk menyimpan data.
Transfer data tercepat kedua setelah L1 cache
adalah L2 cache. Prosesor dapat mengambil data dari cache L2 yang terintegrasi
(on-chip) lebih cepat dari pada cache L2 yang tidak terintegrasi. Kapasitas
simpan datanya lebih besar dibandingkan L1 cache, antara ratusan ribu byte
hingga jutaan byte, ada yang 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, bahkan 8 MB,
tergantung jenis prosesornya. Kapasitas simpan data untuk L3 cache lebih besar
lagi, bisa ratusan juta byte (ratusan mega byte).
Ketika data dibaca/ditulis di memori utama
(RAM) oleh prosesor, salinan data beserta address-nya (yang diambil/ditulis di
memori utama) disimpan juga di cache. Sewaktu prosesor memerlukan kembali data
tersebut, prosesor akan mencari ke cache, tidak perlu lagi mencari di memori
utama.
Jika isi cache penuh, data yang paling lama akan
dibuang dan digantikan oleh data yang baru diproses oleh prosesor. Proses ini
dapat menghemat waktu dalam proses mengakses data yang sama, dibandingkan jika
prosesor berulang-ulang harus mencari data ke memori utama.
Secara logika, kapasitas cache memory yang
lebih besar dapat membantu memperbaiki kinerja prosesor, setidak-tidaknya
mempersingkat waktu yang diperlukan dalam proses mengakses data.
Sebagai tambahan dari register, beberapa CPU
menggunakan suatu cache memory atau disebut dengan scratch-pad memory atau
high-speed buffer atau buffer memory dengan maksud supaya kerja dari CPU
lebih efesien dan mengurangi waktu yang terbuang. Tanpa
cache memory, CPU akan menunggu data atau instruksi diterima dari main memory
atau menunggu hasil pengolahan selesai dikirim ke main memory baru proses
selanjutnya bisa dilakukan, padalah proses dari main memory lebih lambat
dibandingkan dengan kecepatan register. Cache memory diletakkan diantara CPU
dengan main memory.
3.
Fungsi Cache Memory
Cache memory harus lebih cepat dari main memory dan mempunyai ukuran
yang cukup besar, tetapi tidak sebesar main memory.
Sebenarnya cache memory tidak diperlukan bilamana main memory dibuat secepat
cache memory, tetapi cara demikian tidaklah ekonomis.
C. Cara Kerja Sistem Komputer
Sistem Komputer sekalipun merupakan hasil tekhnologi
tingkat tinggi yang canggih,pada dasarnya benda mati yang tersusun atas
rangkaian komponen elektronik
yang
hanya akan mampu merima masukan,memproses,dan menghasilkan keluaran berdasarkan
intruksi-intruksi dalam bentuk kode biner (0) nol dan (1) satu.Berdasarkan
kombinasi digit 0 dan 1 itulah komputer akan dapat berkerja.Setiap perintah
yang dimasukkan ke komputer melalui piranti masukan berupa papan ketik atau
piranti masukan yang lain harus dirubah menjadi kode biner.
Komputer
bisa mengerti tentang program yang ditulis menggunakan perangkat lunak bahasa
pemograman karena masing - masing perangkat lunak bahasa pemograman dilengkapin
dengan suatu penerjemah (compiler).
Compiler
digunakan untuk menerjemahkan program yang diuat dengan suatu bahasa pemograman
tertentu kedalam bahasa mesin dalam kode biner.Dengan bantuan penerjemahan
tersebut,maka perintah - perintah dalam program yang dibuat dengan bahasa
pemograman dapat dimengerti dan dilaksanakan oleh komputer.Proses penerjemahan
program dalam salah satu bahasa pemograman disebut sebagai proses komplikasi
(compilation).
Penerjemah
dapat dibedakan menjadi 2 jenis,yaitu interpreter dan compiler.Fungsi dan tugas
kedua jenis penerjemahan tersebu adalah sama,yaitu mengubah program yang
ditulis dalam bahasa pemograman komputer ke dalam bahasa mesin.Tetapi secara
prinsip kedua jenis penerjemah tersebuh memiliki perbedaan.
Interpreter
akan mengubah program
sumber(source program) yang ditulis dalam bahasa pemograman kedalam bahasa
mesin selangkah demi selangkah dimulai pada baris paling awal hingga garis
paling akhir.
Compiler
akan mengubah bahasa dalam
program sumber (source program) yang ditulis dalam bahasa pemograman kedalam
bahasa mesin sekaligus secara keseluruhan mulai dari baris awal hingga baris
akhir.
Secara
umum,proses menjalankan suatu program yang ditulis dengan bahasa prmograman
hingga menghasilkan keluaran yang ditulis dengan bahasa pemograman hingga
menghasilkan keluaran sesuai yang di progamkan harus melalui tiga tahapan
utama,yaitu sebagai berikut
1 .
Tahap kompilasi (Compilation)
Tahap kompilasi merupakan proses menejermahkan program applikasi yang ditulis dalam
bahasa pemograman menjadi program dalam bahasa mesin yang disebut Object
Program.Program dalam bahasa mesin tersebut masih belum dijalankan/di eksekusi.
2 .
Tahap penggabungan (link)
Tahap penggabungan merupakan proses menggabungkan program bahasa mesin yang
dihasilkan pada tahap 1 dengan beberapa komponen lain yang diperlukan sehingga
menjadi program exe (executable machine) yang siap di eksekusi.
3 .
Tahap Eksekusi (execution)
Tahap eksekusi merupakan proses pelaksanan intruksi dalam program aplikasi yang
sesungguhnya.Dalam tahap ini data- data masukaan dibaca untuk di proses dan
akan memberikan hasil sesuai yang diinginkan sebagaimana tertulis dalam
programnya.
Setiap
bahasa pemograman dilengkapi dengan penerjemahan yang berbeda,bahkan untuk
setiap versi yang berbeda juga mempuyai compiler khusus yang berbeda dengan
versi lain.Semakin baru versi bahasa pemograman akan semakin banyak variasi
perintah yang dimiliki,namun tetap mempertahankan perintah dalam versi
sebelumnya.Akibatnya,suatu program aplikasi yang ditulis dalam versi yang awal
akan dapat diproses oleh compiler dalam versi yang lebih baru,namun tidak
demikian sebalikanya.
Intruksi
yang dapat diproses oleh CPU hanyalah intruksi dalam bentuk bahasa
mesin/biner.Intruksi dan data yang akan diproses oleh CPU diletakkan terlebih
dahulu di main memory.Proses ini bisa dilakukan dengan mengetikkan nama program
pada prompt DOS,atau meng-klik icon pada tampilan windows.
Tahap
pertama,pemrosesan suatu intruksi oleh CPU adalah pengambilan intruksi dari
main menory ke CPU dan akan diletakkan didalam register IR.Tahap ini disebut
instruction fecth.Waktu yang dibutuhkan untuk menyelesaikan tahap ini disebut
waktu intruksi (instruction time)
Selanjutnya,tahap
kedua adalah melaksanakan instruksi yang ada didalam IR register.Tahap ini
disebut instruction execute.Waktu yang dibutuhkan untuk menyelesaikan tahap
kedua ini disebut waktu eksekusi (execution time).Sedangkan total waktu yang
dibutuhkan untuk tahap pertama dan kedua disebut waktu sikslus ( cycle
time)
Kecepatan
CPU di ukur berdasarkan lamanya waktu yang dibutuhkan untuk melaksanakan satu
siklus mesin yang diukur dengan satuan Megahertz (Mhz).Ukuran 1 Mhz dimaksudkan
bahwa komputer dapat menyelesaikan 1 juta siklus per detik.Alat pengukur waktu
dalam CPU disebut Clock.Clock akan berdetak pada setiap siklus yang akan
dilakukan.Untuk CPU dengan kecepatan 16Mhz berarti memiliki clock akan berdetak
sebanyak 16 juta kali pada setiap detiknya,Tekhnologi yang lebih baru akan
memiliki kecepatan proses dan clock yang semakin tinggi.
Tidak ada komentar:
Posting Komentar