Original Sender : "Y. Ignatius Erik Arya" <[EMAIL PROTECTED]>
---------------------------------
> Huehehe.. pengertiannya udah oke nih.. cuman ada satu hal
> yang kadang kita lupa.. processor kan nggak cuman ngurusin
> flow data doang.. dia juga nanganin request interrupt dari
> peripheral.. dan ini kerjanya bergantian.. jadi waktu
> idle-nya cpu sebetulnya berat di banyaknya request dan
> operasi aritmatika.. sedangkan flow datanya biasanya sudah
> berbentuk sequensial.. jadi tinggal diurus sama L1 dan L2
> cachenya.. data masuk ke L2 dalam bentuk sequensial row,
> clocknya bisa saja sama dengan clock CPU.. ketika masuk L1,
> data dipecah dua, berupa 'data' dan command / instruksi..
> yang 'data' masuk register unit.. yang command, masuk ALU..
> dst..
Justru karena alasan ini:
"processor kan nggak cuman ngurusin flow data doang..
dia juga nanganin request interrupt dari peripheral..
dan ini kerjanya bergantian.."
maka sangat diharapkan jumlah cache-nya besar dan kalau bisa
hanya di satu level saja yaitu L1 (atau cara lain pake "full speed
SRAM" ajah untuk main memory-nya; jadi nggak perlu cache-
ram segala). Supaya jika ada interrupt request maka datanya
sudah ada bagi CPU (karena sudah di-cache atau kalau pake
full speed SRAM tinggal ngambil aja di main memory tanpa
wait-state).
Namun penggunaan cara di atas akan membuat:
1. "tapi harganya bo.. harga FlashRAM 2GB emangnya
berapa yah sekarang?.. huehehe.. yang PC400 lagi..
huehehe.. itu juga kalo ada.. ;)).."
Harga keseluruhan system akan menjadi sangat mahal.
2. "Susah membuat L1 onchip sebanyak L2.. wafer/dye-
nya bakalan besar sekali dan berarti biaya dan heatnya
otomatis bakalan mbengkak".
Sulit mendapatkan "yield per silicon" (Jumlah IC per-
satu keping wafer silikon) yang tinggi. Ini akan mem-
buat harga CPU ini meningkat banyak yang akhirnya
membuat point 1 menjadi lebih tinggi lagi.
Itu sebabnya designer CPU dan System Board harus mem-
buat konsesi antara harga jual dengan "performance degrada-
tion penalty" secara cermat. Supaya harga system disatu pihak
masih dapat tetap terjangkau, dan di lain pihak "perfomance
degradation penalty"-nya jangan terlalu banyak.
> ini sebetulnya yang membedakan L1 dan L2.. data di L2 masih
> raw.. sedangkan data di L1, tinggal di'caplok'.. makanya
> didalam spec L2, masih ada istilah 'pembacaan spekulatif',
> sedangkan di L1 udah nggak ada.. ;))
Perbedaan antara L1 dan L2 cache sebenarnya tidak berdasarkan
datanya sequential atau tidak. Soalnya yang mengatur adalah BIU
(Bus I/F unit). Coba kita lihat kutipan dari "INTEL P6 Hardware
Developers Manual":
"The first instruction in this example is a load of r1 that, at run
time, causes a cache miss. A traditional processor core must
wait for its bus interface unit to read this data from main memory
and return it before moving on to instruction 2. This processor
stalls while waiting for this data and is thus being under-utilized.
To avoid this memory latency problem, a P6 family processor
"looks-ahead" into the instruction pool at subsequent instructions
and does useful work rather than stalling."
Dan satu quote lagi dari manual yang sama:
"The BUS INTERFACE unit: A partially ordered unit responsible
for connecting the three internal units to the real world. The bus
interface unit communicates directly with the L2 (second level)
cache supporting up to four concurrent cache accesses. The bus
interface unit also controls a transaction bus, with MESI snooping
protocol, to system memory."
Jadi dari kedua quote tersebut bisa dilihat CPU mencoba mempredik-
sikan instruksi mana yang akan dilakukan selanjutnya oleh suatu alur
program dan secara spekulasi memasukan datanya ke cache (dalam
hal ini melalui L2 dulu baru di-feed ke L1). Jadi kalau untuk isi cache
sequential, L2 sudah dicoba isi datanya untuk sequential (oleh BIU).
Yang jadi masalah kalau terjadi interrupt request kepada CPU dan
datanya tidak ada pada kedua level cache tsb, maka CPU-nya akan
stall juga.
> Balik ke soal cache level, sebetulnya manufakturer udah
> mendesain sedemikian rupa besaran cache ini.. kalo yang
> standar sih, efisiensi cache dihitung dari system pyramid..
> contohnya system yang punya ipan :......
..... lanjut ......
> >Tentunya lebih baik jika TIDAK ADA cache sama
> >sekali (namun di-perlukan main memory yang
> >mampu bekerja hingga sama dengan clock
> >CPU).
> ::-----------------------------
> Memory secepat processor?.. kenapa nggak?.. tapi yang jelas
> solusi ini udah pasti kemahalan dan nggak efisien..
> huehehe.. kenapa?.. sekarang ipan tanya, skema 'data flow'
> dari processor ke media penyimpanan bagaimana sih?..
> proc - L1 - L2 - memory controller - main memory - disk
> cache - platter (skema pyramid)
Skemanya sudah bener (tanpa memory controller). (^_^)
Mengenai efisiensi bisa lihat di bawah ini:
> kalo nggak ada cache, tapi main memory memproses secepat
> CPU, berarti ada 'gap' besar sekali antara main memory
> dengan platter (HDD scr fisik).. secara otomatis bisa
> dikatakan bahwa processornya hanya akan bekerja maximum
> secepat 2-3 kali kecepatan harddisknya.. kan lucu.. pernah
> dengar ada processor 2 Tips (terra instruction / second)
> tapi bekerja max hanya 80 Mips (million instruction per
> second), hanya karena 'bottleneck' di storage-media ?.. ;))
Dalam kasus di atas, benar akan terdapat gap yang besar antara
main memory dengan harddisk. Tapi kalau saya sekarang andai-
kan main memory begitu besarnya dan begitu cepatnya sampai
suatu program tidak perlu melakukan swap ke Harddisk (untuk
mendapatkan virtual memory yang besar) dan CPU tidak me-
merlukan wait-state untuk akses ke main memory maka efisiensi-
nya justru malah meningkat karena piramidenya menjadi:
CPU <----> Main Memory <----> Hardisk
Bukankah latency penyerahan datanya menjadi berkurang? ;-)
Saya coba kutipkan dari buku "Computer Architecture and
Parallel Processing/ISBN 0-07-Y66354-8":
"The goal of designing an N-level of memory hierarchy
(hierarchy memory piramid di atas) is to achieve a perfor-
mance close to the Fastest Memory (dalam hal ini RAM
L1) and a cost per bit close to the Cheapest Memory
(dalam hal ini Hardisk)"
Jadi ya kembali lagi, itu sebabnya memory hierarchy-nya
sekarang seperti yang Ipan buat. ;-)
Ngomong-ngomong soal memory SRAM kec tinggi sudah
ada loh! Itu yang ada di CPU-nya Intel PIII. SRAM tsb
bekerja pada kec 550 MHz (sesuai core). Ya tapi cuma
beberapa ratus KB aja. Itu aja udah bikin harga itu CPU jadi
"ajegile"! (^_^)
Yang saya tahu pake main memory dengan "read-cycle"
2 ns (yup bener saya bilang dua nano seconds!) cuma SGI
Cray T3D. Main memory-nya per CPU 1 GB (Yup betul lagi
saya bilang satu Giga Bytes!) standard! Dan untuk penyim-
panan datanya dia pake Solid-Sate Disk sebesar kalo tidak
salah standard-nya 512 GB! Semuanya pake IC memory itu!
Archiving Memory pakai Hardisk 5 TB (Betul 5 Terra Bytes)
minimum!
Sumber daya yang diperlukan 50 KWatt! Ditambah mesin
pendingin freon untuk ngedinginin seluruh systemnya sebesar
50 KWatt! Amin. PLN bakal kesenengan hehehe...
Designer-nya lagi keblinger kali yah!? (^_^)
Kapan ya ipan ya, komputer kita punya spek kayak gitu?
I'll be perrry.....perrryy.....happy..... (^_^)
> males nanggepinnya?.. huehehe.. karena jawabannya sebetulnya
> bisa aja mbuat L2 jadi L1 cache.. dengan kata lain seperti
> Celeron versi non cache.. why not?.. but what for?.. nggak
> efisien dan bikin 'trouble' aja.. ;))
Hehehe... aku discuss pribadi ama Mas GP, kayaknya tu tuyul
Intel malu ngejawab, soalnya Intel Celeron dibuat untuk low
end system (di bawah PII) ternyata setelah dikasi cache L2 eh
ternyata dia lebih cepet dibanding ama PII-nya! What an ironic!
(^_^)
Sorry banget kepanjangan. No flame, please. (^_^)
Erik Arya
----------------------------------------------------------------
Compu-Mania MailingList is provided by PT Centrin Utama
Maintained by : [EMAIL PROTECTED]
To Post a msg : Send mail to [EMAIL PROTECTED]
To Unsubscribe : Mail to [EMAIL PROTECTED]
BODY : unsubscribe Compu-Mania
For more information, send mail to [EMAIL PROTECTED]
with "HELP" in the BODY of your mail (without quote).
----------------------------------------------------------------