1. Pengertian CPU
Unit pemrosesan pusat (CPU) adalah sirkuit elektronik di dalam komputer yang menjalankan instruksi program komputer dengan melakukan operasi aritmatika, logika, kontrol dan input / output (I / O) dasar yang ditentukan oleh instruksinya. Industri komputer telah menggunakan istilah "central processing unit" setidaknya sejak awal 1960an. [1] Secara tradisional, istilah "CPU" mengacu pada prosesor, lebih khusus lagi pada unit pengolahan dan unit kontrolnya (CU), yang membedakan elemen inti komputer dari komponen eksternal seperti memori utama dan sirkuit I / O. [2]
Bentuk, desain, dan implementasi CPU telah berubah selama sejarah mereka, namun operasi fundamental mereka tetap hampir tidak berubah. Komponen utama CPU termasuk unit logika aritmatika (ALU) yang melakukan operasi aritmatika dan logika, register prosesor yang memasok operan ke ALU dan menyimpan hasil operasi ALU, dan unit kontrol yang mengatur pengambilan (dari memori) dan eksekusi instruksi dengan mengarahkan operasi terkoordinasi dari ALU, register dan komponen lainnya.
Kebanyakan CPU modern adalah mikroprosesor, yang berarti mereka terkandung pada chip sirkuit terpadu tunggal (IC). IC yang berisi CPU mungkin juga berisi memori, antarmuka periferal, dan komponen komputer lainnya; Perangkat terpadu semacam itu disebut mikrokontroler atau sistem pada sebuah chip (SoC). Beberapa komputer menggunakan prosesor multi-core, yang merupakan satu chip berisi dua atau lebih CPU yang disebut "core"; Dalam konteks itu, seseorang dapat berbicara tentang chip tunggal seperti "soket". [3] Prosesor Array atau prosesor vektor memiliki beberapa prosesor yang beroperasi secara paralel, tanpa unit yang dianggap sentral. Ada juga konsep virtual CPU yang merupakan abstraksi dari sumber daya komputasi agregat dinamis. [4]
2. Pengertian Bus, Alu dan CLU
a. Bus
Bus sistem adalah satu bus komputer yang menghubungkan komponen utama sistem komputer, menggabungkan fungsi bus data untuk membawa informasi, bus alamat untuk menentukan kemana harus dikirim, dan bus kontrol untuk menentukan operasinya. Teknik ini dikembangkan untuk mengurangi biaya dan meningkatkan modularitas, dan walaupun populer di tahun 1970an dan 1980an, lebih banyak komputer modern menggunakan berbagai bus terpisah yang disesuaikan dengan kebutuhan yang lebih spesifik.
b. ALU
ALU, singkatan dari Arithmetic And Logic Unit (bahasa Indonesia: unit aritmetika dan logika), adalah salah satu bagian dalam dari sebuah mikroprosesor yang berfungsi untuk melakukan operasi hitungan aritmetika dan logika. Contoh operasi aritmetika adalah operasi penjumlahan dan pengurangan, sedangkan contoh operasi logika adalah logika AND dan OR. tugas utama dari ALU (Arithmetic And Logic Unit)adalah melakukan semua perhitungan aritmetika atau matematika yang terjadi sesuai dengan instruksi program. ALU melakukan operasi arithmatika dengan dasar pertambahan, sedang operasi arithmatika yang lainnya, seperti pengurangan, perkalian, dan pembagian dilakukan dengan dasar penjumlahan. sehingga sirkuit elektronik di ALU yang digunakan untuk melaksanakan operasi arithmatika ini disebut adder. Tugas lalin dari ALU adalah melakukan keputusan dari operasi logika sesuai dengan instruksi program. Operasi logika (logical operation) meliputi perbandingan dua buah elemen logika dengan menggunakan operator logika, yaitu:
a. sama dengan (=)
b. tidak sama dengan (<>)
c. kurang dari (<)
d. kurang atau sama dengan dari (<=)
e. lebih besar dari (>)
f. lebih besar atau sama dengan dari (>=) (sumber: Buku Pengenalan Komputer, Hal 154-155, karangan Prof.Dr.Jogiyanto H.M, M.B.A.,Akt.)
Fungsi-fungsi yang didefinisikan pada ALU adalah Add (penjumlahan), Addu (penjumlahan tidak bertanda), Sub (pengurangan), Subu (pengurangan tidak bertanda), and, or, xor, sll (shift left logical), srl (shift right logical), sra (shift right arithmetic), dan lain-lain.
c. CLU
Control Unit (CU) merupakan alah satu bagian dari CPU yang bertugas untuk memberikan arahan/kendali/ kontrol terhadap operasi yang dilakukan di bagian ALU (Arithmetic Logical Unit) di dalam CPU tersebut. Output dari CU ini akan mengatur aktivitas dari bagian lainnya dari perangkat CPU tersebut.
CU mempunyai beberapa tugas, yaitu sebagai berikut :
Mengatur dan mengendalikan alat-alat input dan output.
Mengambil instruksi-instruksi dari memori utama.
Mengambil data dari memori utama kalau diperlukan oleh proses.
Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
Menyimpan hasil proses ke memori utama.
Mengambil instruksi-instruksi dari memori utama.
Mengambil data dari memori utama kalau diperlukan oleh proses.
Mengirim instruksi ke ALU bila ada perhitungan aritmatika atau perbandingan logika serta mengawasi kerja.
Menyimpan hasil proses ke memori utama.
CU ada 2 macam, yaitu Single-Cycle CU dan Multi-Cycle CU. Berikut penjelasan dari keduanya :
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-bit instruksinya. Bit-bit opcode memberitahukan operasi apa yang selanjutnya akan dijalankan CPU; bukan instruksi cycle selanjutnya.
Gambar diatas merupakan Organisasi dasar dari sebuah computer. |
3. Pengertian Memory
Memori (atau lebih tepat disebut memori fisik) merupakan istilah generik yang merujuk pada media penyimpanan data sementara pada komputer. Setiap program dan data yang sedang diproses oleh prosesor akan disimpan di dalam memori fisik. Data yang disimpan dalam memori fisik bersifat sementara, karena data yang disimpan di dalamnya akan tersimpan selama komputer tersebut masih dialiri daya (dengan kata lain, komputer itu masih hidup). Ketika komputer itu direset atau dimatikan, data yang disimpan dalam memori fisik akan hilang. Oleh karena itulah, sebelum mematikan komputer, semua data yang belum disimpan ke dalam media penyimpanan permanen (umumnya berbasis disk, semacam hard disk atau floppy disk), sehingga data tersebut dapat dibuka kembali di lain kesempatan. Memori fisik umumnya diimplementasikan dalam bentuk Random Access Memory (RAM), yang bersifat dinamis (DRAM). Mengapa disebut Random Access, adalah karena akses terhadap lokasi-lokasi di dalamnya dapat dilakukan secara acak (random), bukan secara berurutan (sekuensial). Meskipun demikian, kata random access dalam RAM ini sering menjadi salah kaprah. Sebagai contoh, memori yang hanya dapat dibaca (ROM), juga dapat diakses secara random, tetapi ia dibedakan dengan RAM karena ROM dapat menyimpan data tanpa kebutuhan daya dan tidak dapat ditulisi sewaktu-waktu. Selain itu, hard disk yang juga merupakan salah satu media penyimpanan juga dapat diakses secara acak, tapi ia tidak digolongkan ke dalam Random Access Memory.
Komponen utama dalam sistem komputer adalah Arithmetic and Logic Unit (ALU), Control Circuitry, Storage Space dan piranti Input/Output. Tanpa memori, komputer hanya berfungsi sebagai piranti pemroses sinyal digital saja, contohnya kalkulator atau media player. Kemampuan memori untuk menyimpan data, instruksi dan informasi-lah yang membuat komputer dapat disebut sebagai komputer multi-fungsi (general-purpose). Komputer merupakan piranti digital, maka informasi disajikan dengan sistem bilangan biner (binary). Teks, angka, gambar, suara dan video dikonversikan menjadi sekumpulan bilangan biner (binary digit atau disingkat bit). Sekumpulan bilangan biner dikenal dengan istilah BYTE, dimana : 1 bita = 8 bit
1 bit = 1 karakter
1 kilobita = 1024 bita
bps = bit per second 1 kbps = 1000 bps 1 mbps = 1.000.000 bps
Semakin besar ukuran memorinya maka semakin banyak pula informasi yang dapat disimpan di dalam komputer (media penyimpanan).
4. Pengertian Set Register
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. 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, tetapi CPU yang mengimplementasikan set instruksi x86 dapat mengandung lebih dari delapan register 32-bit.
Jenis-jenis Register
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.
5. Pengertian Chace Memory
Tembolok atau memori singgahan (Inggris: 'cache') dalam teknologi informasi adalah mekanisme penyimpanan data sekunder berkecepatan tinggi yang digunakan untuk menyimpan data / instruksi yang sering diakses. Memori cache dimaksudkan untuk memberi kecepatan memori yang mendekati memori yang paling cepat yang bisa diperoleh, dan pada waktu yang sama menyediakan kapasitas memori yang besar dengan harga yang lebih murah dari jenis-jenis memori semikonduktor.
Pengertian singgahan
Istilah Cache berasal dari kata bahasa Perancis cache yang berarti tempat sembunyi. Sesuai definisi tersebut cache adalah tempat menyimpan data sementara. Mekanisme ini dimaksudkan untuk meningkatkan transfer data dengan menyimpan data yang pernah diakses pada singgahan tersebut, sehingga apabila ada data yang ingin diakses adalah data yang sama maka maka akses akan dapat dilakukan lebih cepat. Singgahan adalah memori tipe SDRAM yang memiliki kapasitas terbatas namun memiliki kecepatan yang sangat tinggi dan harga yang lebih mahal dari memori utama. Memori singgahan ini terletak antara register dan RAM (memori utama) sehingga pemrosesan data tidak langsung mengacu pada memori utama.
Tingkatan singgahan
Memori singgahan bisa terdiri dari beberapa tingkatan, misalnya L1,L2 dan L3. Singgahan memori level 1 (L1) adalah memori singgahan yang terletak dalam prosesor (cache internal). Singgahan ini memiliki kecepatan akses paling tinggi dan harganya paling mahal. Ukuran memori berkembang mulai dari 8Kb, 64Kb dan 128Kb. Singgahan level 2 (L2) memiliki kapasitas yang lebih besar yaitu berkisar antara 256Kb sampai dengan 2Mb. Namun singgahan L2 ini memiliki kecepatan yang lebih rendah dari singgahan L1. Singgahan L2 terletak terpisah dengan prosesor atau disebut dengan singgahan eksternal. Sedangkan singgahan level 3 hanya dimiliki oleh prosesor yang memiliki unit lebih dari satu misalnya dualcore dan quadcore. Fungsinya adalah untuk mengontrol data yang masuk dari singgahan L2 dari masing-masing inti prosesor.
Cara kerja singgahan
Jika prosesor membutuhkan suatu data, pertama-tama ia akan mencarinya pada singgahan. Jika data ditemukan, prosesor akan langsung membacanya dengan delay yang sangat kecil. Tetapi jika data yang dicari tidak ditemukan,prosesor akan mencarinya pada RAM yang kecepatannya lebih rendah. Pada umumnya, singgahan dapat menyediakan data yang dibutuhkan oleh prosesor sehingga pengaruh kerja RAM yang lambat dapat dikurangi. Dengan cara ini maka memory bandwidth akan naik dan kerja prosesor menjadi lebih efisien. Selain itu kapasitas memori singgahan yang semakin besar juga akan meningkatkan kecepatan kerja komputer secara keseluruhan.
Dua jenis singgahan yang sering digunakan dalam dunia komputer adalah memory caching dan disk caching. Implementasinya dapat berupa sebuah bagian khusus dari memoriutama komputer atau sebuah media penyimpanan data khusus yang berkecepatan tinggi.
Implementasi memory caching sering disebut sebagai memory cache dan tersusun dari memori komputer jenis SDRAM yang berkecepatan tinggi. Sedangkan implementasi disk caching menggunakan sebagian dari memori komputer.
6. Pengertian Memori Virtual
Dalam ilmu komputer, memori virtual adalah teknik manajemen memori yang dikembangkan untuk kernel multitugas. Teknik ini divirtualisasikan dalam berbagai bentuk arsitektur komputer dari komputer penyimpanan data (seperti memori akses acak dan cakram penyimpanan), yang memungkinkan sebuah program harus dirancang seolah-olah hanya ada satu jenis memori, memori "virtual", yang bertindak secara langsung beralamat memori baca/tulis (RAM).
Sebagian besar sistem operasi modern yang mendukung memori virtual juga menjalankan setiap proses di ruang alamat khususnya sendiri. Setiap program dengan demikian tampaknya memiliki akses tunggal ke memori virtual. Namun, beberapa sistem operasi yang lebih tua (seperti OS/VS1 dan OS/VS2 SVS) dan bahkan yang modern yang (seperti IBM i) adalah sistem operasi ruang alamat tunggal yang menjalankan semua proses dalam ruang alamat tunggal yang terdiri dari memori virtual.
Memori virtual membuat pemrograman aplikasi lebih mudah oleh fragmentasi persembunyian dari memori fisik; dengan mendelegasikan ke kernel beban dari mengelola hierarki memori (sehingga menghilangkan keharusan untuk program dalam mengatasi hamparan secara eksplisit); dan, bila setiap proses berjalan dalam ruang alamat khususnya sendiri, dengan menghindarkan kebutuhan untuk merelokasi kode program atau untuk mengakses memori dengan pengalamatan relatif.
Virtualisasi memori adalah generalisasi dari konsep memori virtual.