06 December 2013

Cara Kerja Processor Part 2

External Clock
Produsen processor mulai menggunakan konsep baru yang disebut clock multiplication dan mulai digunakan pada processor 486DX2. Dengan skema yang digunakan hingga saat ini, processor mempunyai external clock yang digunakan untuk mentransfer data dari dan ke RAM (menggunakan north bridge) dan internal clock lebih tinggi.


Sebagai contoh processor pentium 4 - 3.4 GHz, angka 3.4 mengacu pada internal clock yang didapatkan dari perkalian external clock yaitu 200 MHz dikali 17. Perbedaan besar antara internal clock dan external clock pada processor merupakan hambatan utama yang harus diatasi untuk meningkatkan kinerja komputer. Seperti pada contoh processor pentium 4 - 3.4 GHz , processor harus menurunkan kecepatannya 17x ketika harus membaca data dari RAM. Pada proses ini processor bekerja seperti processor 200 MHz.
Beberapa teknik digunakan untuk meminimalisasikan efek dari perbedaan clock ini. Salah satunya adalah dengan penggunaan memory cache pada processor dan mentransfer lebih dari satu data chuck per clock cycle. Processor intel dan AMD menggunakan fitur ini, AMD mentransfer dua data per clock cycle sedangkan processor intel mentransfer emapt data per clock cycle. 

Teknik mengirim dua data per clock cycle disebut DDR (Dual Data Rate) sedangkan teknik mengirim empat data per clock cycle disebut QDR (Quad Data Rate).

Blok Diagram Processor
Pada gambar dibawah anda bisa melihat dasar blok diagram dari processor modern yang ada saat ini. Ada banyak perbedaan antara arsitektur AMD dan Intel.
Garis putus-putus pada gambar diatas merepresentasikan bodi processor, dan RAM terletak diluar processor. Lebar jalur data  antara RAM dan processor biasanya 64-bit (atau 128-bit ketika menggunakan konfigurasi dual channel) berjalan pada clock memori atau external clock processor yang lebih lambat. Angka dari bits dan clock rate dikombinasikan dalam unit yang disebut transfer rate dalam MB/s. Untuk menghitung transfer rate, rumus yang digunakan adalah jumlah bits x clock/8. Untuk sebuah sistem yang menggunakan RAM DDR400 singgle channel maka transfer rate dari memori tersebut adalah 3200 MB/s.

Semua rangkain yang ada didalam garis putus-putus berjalan pada internal clock processor. Tergantung pada processor, beberapa bagian internal dari processor bahkan bisa berjalan pada clock rate yang lebih tinggi. Selain itu lebar jalur data antar unit processor bisa lebih lebar. Contoh, jalur data antara cache memory L2 dan L1 biasanya 256-bit. Semakin tinggi jumlah bits yang bisa dikirim per clock cycle maka kecepatan transfer akan lebih cepat atau transfer rate lebih tinggi. 

Memory Chache
Adalah memori dengan kinerja tinggi atau disebut memori statik. Memori yang digunakan pada RAM utama sebuah komputer disebut memori dinamik. Memori statik membutuhkan power lebih besar, lebih mahal dan lebih besar secara fisik dibandingkan memori dinamik namun jauh lebih cepat. Memori statik bisa bekerja pada clock yang sama dengan processor sementara memori dinamik tidak. 

Ketika processor memuat data dari posisi tertentu pada memori, sebuah sirkuit yang disebut cache controller memuat kedalam cache memory keseluruhan blok data dibawah posisi yang sedang dimuat oleh processor. Biasanya alur program komputer dijalankan secara berurutan, posisi memori berikutnya yang akan diminta oleh processor akan segera ditempatkan dibawah posisi terahir yang dimuat. Karena cache memory sudah memuat banyak data dibawah data pertama yang dibaca oleh processor, data berikutnya akan berada didalam cache memory sehingga processor tidak perlu mengambil data tersebut keluar karena sudah dimuat.

Cache controller selalu mengamati posisi memori yang sedang dimuat dan memuat data dari beberapa posisi memori setelah posisi yang baru saja dibaca. Sebagai contoh, jika processor memuat data yang tersimpan pada alamat 1000, cache controller akan memuat data dari  alamat "n" setelah alamat 1000. Angka "n" disebut dengan istilah "page". Jika processor bekerja dengan 4 KB pages maka processor akan memuat data dari alamat 4096 dibawah memori yang sedang dimuat. 1 KB sama dengan 1.24 bytes sehingga 4 KB sama dengan 4096 bukan 4000.

Semakin besar cache memori maka akan semakin tinggi peluang dari data yang diminta oleh processor sudah berada di cache sehingga processor akan lebih sedikit mengakses data ke RAM secara langsung, dampaknya kinerja sistem akan meningkat (ingat bahwa setiap kali processor mengakses data ke RAM maka clock ratenya akan menurun). 
L1 dan L2 artinya Level 1 dan Level 2, dan mengacu kepada jarak dari Core processor. Lalu mengapa mengapa ada 3 chache memori terpisah (L1 data cache, L1 instruction cache dan L2 cache)? L1 instruction cache digunakan sebagai input cache sedangkan L1 data cache bekerja sebagai output cache. L1 instruction cache yang biasanya lebih kecil dari L2 cache.

Pada spesifikasi page dari processor, L1 bisa ditemukan dengan berbagai macam representasi yang berbeda. Beberapa produsen menyebut dua cache L1 secara terpisah ( terkadang instruction cache disebut dengan "I" dan data cache disebut "D"), beberapa menyebut jumlahnya dan menulisnya seperti a "128 KB" yang artinya 64 KB instruction cache dan 64 KB data cache.
Processor pentium 4 dan Celeron dengan soket 478 dan 775 tidak mempunyai L1 instruction cache, namun mempunyai trace execution cache yaitu cache yang terdapat antara unit decode dan execution unit. Maka L1 instruction cache ada disana tetapi dengan nama dan lokasi yang berbeda.

Labels:

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home