Beberapa bulan lalu, secara perumpamaan saya telah gambarkan mengenai fungsi processor dalam artikel Fungsi Processor, Memory, Motherboard dan Hard Disk.
Pada artikel tersebut tidak pengetahuan apa-apa yang saya berikan,
tetapi hanya pemahaman awal saja. Pada artikel ini barulah akan saya
berikan semua hal penting mengenai processor. Prosesor (CPU, Central
Processing Unit) adalah otak dari sebuah komputer.
Komponen computer ini memungkinkan pengolahan data angka, yang berupa
informasi yang dimasukkan dalam bentuk biner, dan eksekusi instruksi
yang tersimpan dalam memori.
Microprocessor pertama (Intel 4004) ditemukan pada tahun 1971.
Microprocessor ini merupakan perangkat perhitungan 4-bit dengan
kecepatan 108 kHz. Sejak itu, mikroprosesor telah tumbuh secara
eksponensial. Jadi apa sebenarnya potongan-potongan kecil silikon yang
menjalankan komputer kita ini? Itulah yang akan kita bahas.
Penjelasan Tentang Prosesor Intel 4004
Processor
Prosesor (CPUyang disebut juga Central
Processing Unit) adalah sebuah sirkuit elektronik yang beroperasi pada
suatu kecepatan berkat clock internal pada sebuah kristal kuarsa, yang
mengalami sebuah kismis listrik, yang disebut “peak”. Clock speed (juga
disebut siklus), adalah jumlah kiriman getaran per detik, ditulis dalam
Hertz (Hz). Dengan demikian, komputer 200 MHz memiliki clock yang
mengirimkan getaran pulse 200.000.000 per detik. Clock frekuensi umumnya
merupakan kelipatan dari frekuensi sistem (FSB, Front-Side Bus), yang
berarti kelipatan dari frekuensi motherboard.
Pada setiap puncak clock, prosesor
melakukan tindakan yang sesuai untuk sebuah instruksi atau bagian
daripadanya. Alat ukurnya disebut CPI (Cycles Per Instruction) merupakan
representasi dari rata-rata jumlah siklus clock yang diperlukan oleh
microprocessor untuk mengeksekusi instruksi. Daya sebuah microprocess
dapat dicirikan dari jumlah instruksi per detik yang ia mampu kerjakan.
MIPS (millions of instructions per second) adalah satuan yang digunakan
sesuai dengan frekuensi prosesor dibagi dengan CPI.
Sebuah instruksi adalah operasi dasar
yang dapat diselesaikan prosesor. Instruksi disimpan dalam memori utama,
menunggu untuk diproses oleh prosesor. Sebuah instruksi memiliki dua
bidang:
- Operation code (Kode operasi), yang merupakan tindakan yang harus dieksekusi prosesor;
- Operand code (Kode operan), yang mendefinisikan parameter dari tindakan. Kode operan tergantung pada operasi.
- Operation Code Operand Field
Jumlah bit dalam sebuah instruksi
bervariasi menurut jenis data (antara 1 dan 4 byte 8-bit). Instruksi
dapat dikelompokkan berdasarkan kategori, di mana yang utama adalah:
- Memory Access: mengakses memori atau mentransfer data antara register.
- Arithmetic Operations: melakukan operasi seperti penambahan, pengurangan pembagian, atau perkalian.
- Logic Operations: seperti operasi AND, OR, NOT, EXCLUSIVE NOT, dll
- Control: urutan kontrol, koneksi kondisional, dll
Register
Ketika prosesor mengeksekusi instruksi,
data disimpan sementara dalam lokasi kecil di memori lokal bit 8, 16, 32
atau 64 disebut register. Tergantung pada jenis prosesor, jumlah
keseluruhan dari register dapat bervariasi dari sekitar sepuluh sampai
ratusan.
Register utama adalah:
- Register akumulator (accumulator register atau ACC), yang menyimpan hasil operasi aritmatika dan logika;
- Register status (PSW, Processor Status Word), yang memegang indikator status sistem (membawa digit, overflow, dll);
- Register instruksi (RI, instruction register), yang berisi instruksi yang sedang diproses saat ini;
- Counter ordinal atau ordinal counter (OC or PC for Program Counter), yang berisi alamat dari instruksi berikutnya untuk proses;
- Register buffer, yang menyimpan data sementara dari memori.
Memori Cache
Memori cache (juga disebut memori
buffer) yaitu memori lokal yang mengurangi waktu tunggu untuk informasi
yang tersimpan dalam RAM (Random Access Memory). Jika waktu tunggu lama,
maka memori utama komputer akan lebih lambat dibandingkan dengan
prosesor. Namun jenis memori yang lebih cepat memmbutuhkan biaya yang
sangat meningkat. Solusinya adalah menyertakan jenis memori lokal pada
prosesor dan menyimpan untuk sementara waktu data primer untuk diproses.
Model komputer terbaru memiliki tingkat yang berbeda-beda tentang
besarnya memori cache;
- Cache memori Level satu (disebut Cache L1, untuk Level 1 Cache)
secara langsung terintegrasi ke dalam prosesor. Level 1 cache dapat
diakses dengan sangat cepat. Bagian ini dibagi menjadi dua bagian:
- Bagian pertama adalah cache instruksi, yang berisi petunjuk dari RAM
yang telah diterjemahkan saat mereka datang melalui pipelines.
- Bagian kedua adalah data cache, yang berisi data dari RAM dan data terakhir digunakan selama operasi prosesor.
- Cache memori Level dua (disebut L2 Cache, untuk Level 2 Cache)
terletak dalam case bersama dengan prosesor (dalam chip). Level dua
cache perantara antara prosesor dengan cache internal, dan RAM. Bagian
ini dapat diakses lebih cepat daripada RAM, tetapi kurang cepat dari
cache tingkat satu.
- Tingkat tiga cache memori (disebut L3 Cache, untuk Level 3 Cache) terletak pada motherboard.
Semua tingkat cache mengurangi waktu
latency berbagai jenis memori saat memproses atau mentransfer informasi.
Sementara prosesor bekerja, pengendali cache tingkat satu dapat
tukar-menukar dengan kontroler tingkat dua untuk mentransfer informasi
tanpa menghambat prosesor. Selain itu, antarmuka cache tingkat dua
dengan RAM (tingkat tiga cache) memungkinkan transfer tanpa menghalangi
operasi prosesor secara normal.
Sinyal Kontrol
Sinyal kontrol adalah sinyal elektronik
yang mengatur berbagai unit prosesor berpartisipasi dalam pelaksanaan
sebuah instruksi. Sinyal kontrol dikirim menggunakan elemen yang disebut
sebuah sequencer. Misalnya, Read/Write sinyal memungkinkan memori yang
akan diberitahu bahwa prosesor ingin membaca atau menulis informasi.
Diagram di bawah ini memberikan representasi yang disederhanakan dari
unsur-unsur yang membentuk prosesor (layout fisik dari elemen-elemen
berbeda dari tata letak mereka yang sebenarnya):
Transistor
Untuk memproses informasi, mikroprosesor
memiliki sekelompok instruksi, yang disebut ” instruction set”, yang
dimungkinkan oleh sirkuit elektronik. Lebih tepatnya, set instruksi
dibuat dengan bantuan semikonduktor, “circuit switches” kecil yang
menggunakan efek transistor, ditemukan pada tahun 1947 oleh John Barden,
Walter H. Brattain dan William Shockley yang menerima Hadiah Nobel pada
tahun 1956 untuk itu.
Sebuah transistor (kontraksi resistor
transfer) adalah komponen semi-konduktor elektronik yang memiliki tiga
elektroda dan mampu memodifikasi obyek saat melewatinya menggunakan
salah satu elektrodanya (disebut kontrol elektroda). Ini disebut sebagai
“komponen aktif”, berbeda dengan “komponen pasif”, seperti resistensi
atau kapasitor yang hanya memiliki dua elektroda (disebut sebagai
“bipolar”).
MOS Transistor
Sebuah transistor MOS (metal, oxide, silicone) adalah jenis yang paling
umum
dari transistor digunakan untuk merancang sirkuit terpadu. MOS
transistor memiliki dua area bermuatan negatif, masing-masing disebut
sumber (yang memiliki muatan hampir nol) dan tiriskan (yang memiliki
muatan 5V), dipisahkan oleh suatu wilayah bermuatan positif, disebut
substrat). Substrat memiliki kontrol lapis elektroda, disebut gerbang,
yang memungkinkan charge yang akan diterapkan pada substrat.
Ketika tidak ada muatan pada elektroda
kontrol, substrat yang bermuatan positif bertindak sebagai penghalang
dan mencegah gerakan elektron. Namun, ketika charge diterapkan ke pintu
gerbang, muatan positif substrat ditolak dan saluran komunikasi yang
bermuatan negatif dibuka antara source and the drain.
Transistor dalam hal ini bertindak
sebagai saklar program, berkat kontrol elektroda. Ketika charge
diterapkan ke elektroda kontrol, ia bertindak sebagai interrupter
tertutup dan ketika tanpa charge bertindak sebagai interrupter terbuka.
Sirkuit Terpadu (IC, Integrate Circuit)
Setelah digabungkan, transistor dapat
membuat sirkuit logika, yang jika digabungkan, akhirnya membentuk yang
kita sebut sekarang sebagai prosesor. Sirkuit terpadu pertama dibuat
tahun 1958 dan dibangun oleh Texas Instruments.
MOS transistor merupakan kepingan dari silikon (disebut wafer) yang
diperoleh setelah beberapa proses. Kepingan silikon ini dipotong menjadi
elemen-elemen segi empat membentuk “circuit”. Sirkuit kemudian
ditempatkan dalam case-case dengan konektor input-output dan jumlah dari
bagian-bagian ini membuat sebuah “sirkuit terpadu”. Bisa terdapat
jutaan transistor pada satu prosesor tunggal.
Hukum Moore, ditulis pada tahun 1965
oleh Gordon E. Moore, pendiri Intel, memprediksikan bahwa kinerja
prosesor (dengan perluasan dari jumlah transistor terintegrasi dalam
silikon) akan berlipat ganda setiap dua belas bulan. Hukum ini telah
direvisi pada tahun 1975, membawa jumlah bulan sampai dengan 18. Karena
case persegi panjang berisi pin input-output yang mirip kaki,
“electronic flea” maka dalam bahasa Prancis digunakan untuk merujuk ke
sirkuit terpadu.
Prosesor dikelompokkan ke dalam kluster berikut, sesuai dengan set instruksi yang unik:
1. 80×86: “x” mewakili keluarga. Oleh karena itu dibuat untuk 386, 486, 586, 686, dll
2. ARM
3. IA-64
4. MIPS
5. Motorola 6800
6. PowerPC
7. SPARC
Hal ini menjelaskan mengapa program
diproduksi untuk jenis prosesor tertentu hanya dapat langsung bekerja
pada sistem dengan jenis prosesor lain jika ada instruksi terjemahan,
yang disebut emulasi. Istilah “emulator” digunakan untuk merujuk pada
program melakukan terjemahan ini.
Instruction Set
Sebuah set instruksi adalah jumlah
operasi dasar yang dapat diselesaikan prosesor. Sebuah set instruksi
processor adalah faktor yang menentukan dalam arsitektur, bahkan
meskipun arsitektur yang sama dapat mengakibatkan implementasi yang
berbeda oleh produsen yang berbeda. Prosesor bekerja efisien berkat
sejumlah instruksi, yang didesain untuk sirkuit elektronik. Kebanyakan
operasi dapat dilakukan dengan menggunakan fungsi dasar.
Arsitektur CISC
CISC (Complex Instruction Set Computer)
berarti arsitektur hardwiring prosesor dengan instruksi kompleks yang
sulit untuk membuat menggunakan petunjuk dasar. CISC sangat populer di
tipe prosesor 80×86. Jenis arsitektur processor ini memiliki biaya
tinggi karena fungsi-fungsi lanjutan tercetak pada silikon tersebut.
Variabel Instruksi panjang kadang-kadang
membutuhkan lebih dari satu siklus clock. Karena itu prosesor berbasis
CISC hanya dapat memproses satu instruksi pada satu waktu, waktu proses
adalah ukuran dari fungsi instruksi.
Arsitektur RISC
Prosesor dengan RISC (Reduced
Instruction Set Computer) adalah teknologi yang tidak memiliki
fungsi-fungsi lanjutan terprogram. Instruksi dieksekusi hanya dalam satu
siklus clock, yang mempercepat eksekusi program bila dibandingkan
dengan prosesor CISC. Akhirnya, prosesor ini bisa menangani beberapa
instruksi secara bersamaan dengan memproses mereka secara paralel.
Perbaikan Teknologi
Sepanjang waktu, produsen mikroprosesor
(disebut pendiri) telah mengembangkan sejumlah perbaikan yang
mengoptimalkan kinerja prosesor. Pengolahan Paralel yang diterapkan
secara simultan melaksanakan instruksi dari program yang sama pada
prosesor yang berbeda. Ini melibatkan pembagian sebuah program menjadi
beberapa proses yang ditangani secara paralel untuk mengurangi waktu
tunggu eksekusi.
Pipelining
Pipelining adalah teknologi yang
meningkatkan kecepatan eksekusi instruksi dengan meletakkan
langkah-langkah menjadi paralel. Untuk memahami mekanisme pipelining,
pertama-tama perlu untuk memahami fase eksekusi dari sebuah instruksi.
Pelaksanaan tahapan instruksi untuk prosesor dengan 5-langkah adalah
sebagai berikut:
- FETCH: (mengambil instruksi dari cache;
- DeCODE: decode instruksi dan terlihat untuk operan (mendaftar atau nilai-nilai langsung);
- EXECUTE: melakukan instruksi (misalnya, jika itu adalah instruksi
ADD, penambahan dilakukan, jika instruksi SUB, pengurangan dilakukan,
dll);
- MEMORY: mengakses memori, dan menulis data atau mengambil data;
- WRITE BACK (retire): mencatat nilai yang dihitung di register.
Instruksi diatur dalam baris dalam
memori dan dimuat satu demi satu. Berkat pipeline, pengolahan instruksi
tidak memerlukan lebih dari lima langkah sebelumnya. Namun urutan
langkah ini tak berubah (FETCH, DECODE, EXECUTE, MEMORY, WRITE BACK),
adalah mungkin untuk membuat sirkuit khusus dalam masing-masing
prosesor.
HyperThreading
HyperThreading (ditulis HT) adalah
teknologi yang menempatkan dua prosesor logika dalam satu prosesor
fisik. Dengan demikian, sistem mengakui dua prosesor fisik dan
berperilaku seperti sistem multitasking dengan mengirimkan dua thread
secara simultan, disebut sebagai SMT (Simultaneous Multi Threading). Ini
merupakan “manipulasi” yang memungkinkan sumber daya prosesor menjadi
lebih baik dengan kecepatan kerja lebih tinggi.