Copy มาอีกทีนะคับ
SPD ในหน่วยความจำคืออะไร
SPD (Serial Presence Detect) เป็นคุณสมบัติอย่างหนึ่งซึ่งมีอยู่ในโมดูล DDR ทุกชนิด คุณสมบัติข้อนี้ใช้แก้ปัญหาเรื่องความคอมแพตทิเบิล และช่วยทำให้ไบออสปรับแต่งระบบเพื่อใช้ประโยชน์จากเมมโมรีได้อย่างเต็มที่ได้โดยง่าย อุปกรณ์ SPD เป็นชิป EEPROM ติดตั้งอยู่บนเมมโมรีโมดูล โดยทำการจัดเก็บข้อมูลของโมดูล DIMM อาทิขนาด ความเร็ว ความกว้างข้อมูล โวลต์เตจและตัวแปรอื่นๆ ถ้าหากคุณปรับแต่งเมมโมรีเป็นแบบ SPD ไบออสจะทำการอ่านตัวแปรเหล่านี้ในช่วงรูทีน POST (บูตเครื่อง) จากนั้นก็จะทำการปรับแต่งค่าในไบออสให้สอดคล้องกับสเปคที่ผู้ผลิตกำหนดเอาไว้
ถ้าหากไบออสไม่สามารถอ่านข้อมูล SPD ได้อย่างถูกต้อง เมนบอร์ด ไบออส และการตั้งค่าตัวแปรเป็น SPD หรือ Auto อาจจะส่งผลทำให้ไบออสกำหนดตัวแปรเป็น full-fast timings (เวลาที่ต่ำสุดเท่าที่เป็นไปได้) หรือ full-slow timings (เวลาที่สูงสุดเท่าที่เป็นไปได้) สถานการณ์แบบนี้เกิดขึ้นเมื่อโมดูลเมมโมรีบางอันไม่คอมแพตทิเบิลกัน ถ้าหากการอ่านข้อมูล SPD ไม่ถูกต้องแล้วไบออสไปใช้ memory timings เร็วกว่าโมดูลหรือระบบทั้งหมดจะทำให้บูตไม่ได้ก็มี ดังนั้นในกรณีนี้คุณควรลองเปลี่ยนโมดูลอันใหม่ แล้วกำหนดให้ไบออสยอมให้คุณตั้งค่าตัวแปรเอง จากนั้นคุณต้องกำหนดให้ timing เป็นค่าที่ปลอดภัยกว่า (สูงขึ้น) เพื่อช่วยให้การใช้เมมโมรีแบบผสมผสานใช้งานได้
ความสำคัญของ Memory timings
แนวคิดทั่วไปเกี่ยวกับประสิทธิภาพของเมมโมรีก็คือ ความเร็วที่สูงกว่า (เป็น MHz) และความล่าช้าในการเข้าถึงข้อมูลที่ลดลง (latency) จะส่งผลทำให้มีแบนด์วิดท์ที่มากกว่า จะมีประสิทธิภาพที่ดีกว่า แต่สิ่งที่ผู้ใช้มักมองข้ามก็คือความล่าช้า (latency) ในขณะที่พยายามเพิ่มประสิทธิภาพของระบบ
ประสิทธิภาพของเมมโมรีไม่ได้กำหนดโดยแบนด์วิดท์เสมอไป แต่ยังขึ้นอยู่กับความเร็วของการตอบสนองต่อคำสั่งใดคำสั่งหนึ่ง หรือเวลาที่รอก่อนที่จะเริ่มหรือจบขั้นตอนการทำงานของการอ่านหรือเขียนข้อมูล เรื่องเหล่านี้ก็คือความล่าช้าของเมมโมรีหรือเวลาในการตอบสนอง (Timings) เมมโมรีไทม์มิงควบคุมวิธีการเรียกใช้เมมโมรีและอาจเป็นปัจจัยหลักที่จะทำให้ประสิทธิภาพโดยรวมในพีซีของคุณดีขึ้นหรือเลวลงได้
เมมโมรีจะจัดเรียงในลักษณะของสเปรดชีต โดยแบ่งออกเป็นแถว (Rows) และคอลัมน์ (Colums) สัญญาณพื้นฐานจะถูกส่งไปยัง RAM เพื่ออ่านหรือบันทึกข้อมูล รวมถึงการกำหนดแอดเดรสและทำการคอนโทรลต่างๆ โดยแอดเดรสก็คือจุดที่ใช้จัดเก็บข้อมูลในเมมโมรีแบงก์ ในขณะที่สัญญาณคอนโทรลก็คือคำสั่งต่างๆ ที่จำเป็นต่อการอ่านและบันทึกข้อมูล ซึ่งโดยปกติแล้วจะมีความล่าช้าเกิดขึ้นก่อนที่จะมีการประมวลผลหรือจบการทำงานของสัญญาณคอนโทรล
ฟอร์แมตมาตรฐานสำหรับความล่าช้าของเมมโมรีใช้ตัวเลข 4 ชุดคั่นด้วยขีดจากซ้ายไปขวา อาทิ 2-2-2-6 (CAS-tRP-tRCD-tRAS) ตัวเลขเหล่านี้เป็นตัวแทนว่าความล่าช้าแต่ละแบบมีวงรอบสัญญาณนาฬิกามากน้อยขนาดไหน แต่ไม่ได้เรียงลำดับของการเกิดตัวเลขชุดนี้ไบออสแต่ละชนิดจะแสดงตัวเลขชุดนี้แตกต่างกันได้ รวมทั้งอาจจะมีความล่าช้าแบบอื่นๆ เพิ่มเข้ามาด้วย
Timings แต่ละชนิดมีความหมายว่าอย่างไร
โดยปกติแล้วเมนูไบออสซึ่งอยู่ในเมนบอร์ดมักมีการตั้งค่าตัวแปรแบบต่างๆ จำนวนมาก เพื่อช่วยให้เมมโมรีทำงานได้อย่างสมบูรณ์แบบมากขึ้น โดยตัวเลือกต่างๆ เหล่านี้ก็คือตัวเลือกการกำหนดความล่าช้าซึ่งมีอยู่ในไบออสยุคใหม่ส่วนใหญ่
command rate ความล่าช้านี้ (เป็นวงรอบสัญญาณนาฬิกา) เป็นช่วงเวลาระหว่างการยืนยันการเลือกชิป (อาทิเช่นการเลือก RAM) และคำสั่ง (อาทิ Activate Row) ที่ส่งไปให้ RAM ค่าปกติก็คือ 1T (หนึ่งรอบสัญญาณนาฬิกา) และ 2T (สองรอบสัญญาณนาฬิกา)
CAS (Column Address Strobe หรือ Column Address Select) คือจำนวนวงรอบสัญญาณนาฬิกา (หรือ Ticks ซึ่งย่อเป็น T) ระหว่างการส่งคำสั่ง READ จนถึงเมื่อข้อมูลส่งมาถึงบัสข้อมูล เราอาจมองว่าเมมโมรีเป็นตารางตำแหน่งของเซลล์ และความล่าช้า CAS จะเกิดขึ้นทุกครั้งที่มีการเปลี่ยนแปลงคอลัมน์ ซึ่งเกิดขึ้นบ่อยกว่าการเปลี่ยนแถว
tRP (RAS Precharge Delay) เป็นความเร็วหรือช่วงเวลาที่ DRAM ใช้สำหรับการยกเลิกการติดต่อกับข้อมูลแถวหนึ่งแล้วไปเริ่มแถวใหม่ หรือพูดง่ายๆ ก็คือการเปลี่ยนเมมโมรีแบงก์นั่นเอง
tRCD (ความล่าช้าจาก RAS (Row Access Strobe) ถึง CAS) หมายถึงช่วงเวลาระหว่างการติดต่อกับ RAS และ CAS นั่นเอง อาทิเช่นความล่าช้าระหว่างการเรียกใช้เมมโมรีแบงก์ชุดหนึ่ง
cradit : ektawan
gungsakab:
ทำไมใส่ memory speed สูงขึ้นแล้ว computer ไม่ได้เร็วตาม
อ้างจาก: OSTO ที่ ธันวาคม 25, 2007, 07
11 pm
อ้างถึง
สรุป ว่าถ้าใช้ AMD ต้องลดความเร็วของบัสลงใช่ป่ะคับ
ไม่ใช่ครับ เพียงแต่ว่าการเพิ่มความเร็ว Ram BUS ของ AMD มีผลน้อยกว่า Intel เนื่องจาก AMD ใช้ internal memory controller ซึ่งมีประสิทธิภาพ เหนือกว่าการดึง data ผ่าน north bridge ที่ใช้ใน Intel (เนื่องจาก Latency ต่ำกว่า)
อ้างจาก: OSTO ที่ ธันวาคม 25, 2007, 07
11 pm
อ้างถึง
เเต่ถ้าเพิ่มก็เหมือนกับการ cpu คลอกขึ้น อีกทีน่ะคับ เเปลว่าอ่ะไรคับ
หมายถึงว่า RAM ที่มี Bus สูงๆเหมาะสำหรับการทำ overclock CPU ครับ เนื่องจากมีการเพิ่มสัญญาณนาฬิกาที่ FSB ทำให้ต้องการ ram ที่มี Bus สูงขึ้น
อ้างจาก: OSTO ที่ ธันวาคม 25, 2007, 07
11 pm
อ้างถึง
Latency เเปลว่า
CL เเปลว่า
แปลว่าความหน่วงอันเนื่องจาก memory เองครับ มีทั้งหมด 4 ตัวหลักๆ CAS (CL)/tRCD/tRPD/tRAS โดยปกติจะเขียนเรียงกัน 4 ตัวดังนี้
4-4-4-12 ค่าเหล่านี้มีผลโดยตรงก่อนที่คุณจะสามารถเริ่มเข้าถึงข้อมูลได้
CAS (Column Access Strobe หรือ Column Address Select), CL (CAS Latency)
เวลาที่ใช้ในการเข้าถึงข้อมูลด้าน column ของข้อมูล
tRCD(RAS to CAS Delay)
เวลาที่ใช้ระหว่างมีการเรียก RAS จนกระทั่งเริ่มมีการเรียกใช้ CAS ส่วนใหญ่ค่านี้ไม่มีผลเท่าไหร่เนื่องจากข้อมูลมักจะเก็บต่อกันอยู่
tRPD (RAS Precharge Delay)
เวลาที่ใช้ในการยกเลิกการเข้าถึง row ของข้อมูล และเข้าถึงข้อมูลใน row ถัดไป
tRAS (Row Access Strobe)
เวลาที่ใช้ในการเข้าถึงข้อมูลทั้งหมด โดยค่าของ tRAS ต้องไม่น้อยกว่า tRCD+CAS + 2 cycles
เพราะฉะนั้นค่า tCAS กับ tRAS ยิ่งใกล้กันมากเท่าไหร่ยิ่งดี
โดยปกติเวลาเราคำนวนค่าว่า CPU เหมาะกับ memory ขนาดไหน เท่าไหร่ ต้องดูว่า CPU ตัวนั้นมีสัญญาณนาฬิกา เทียบกับความหน่วง (lantency) เพื่อดูว่า เราควรจะ
ปรับอะไร ตัวอย่าง
กรณี AMD
Athlon X2 BE-2300 G1
CPU Clock 1900 MHz
HTT 1000 MHz
Multiplier 9.5x
HTT/FSB = 2.5 หรือ 3
AMD หลายๆรุ่นจะไม่มีการ lock ตัวคูณ แต่ Fix ค่า HTT ไว้ไม่ให้เกินที่กำหนดใน spec เท่านั้น
Rule of Thumb
- ความถี่ Data Rate ได้จาก CPU clock / Multiply
- Data rate ที่ได้ เมื่อคูณกับค่า HTT/FSB ต้องไม่เกิน ค่า HTT
Case 1:
CPU วิ่งที่ 1.9GHz ด้วยค่า multiply = 9.5 จะได้ว่า memory คุณจะต้องวิ่งที่อยู่ที่ 1900/9.5 = 200 MHz
ค่า HTT/FSB = 2.5 เพราะฉะนั้น Data rate แท้จริงคือ 2.5 * 200 = 500 MHz (ซึ่งค่านี้ต้องไม่เกิน bandwidth ของ HTT = 1000MHz)
เพราะฉะนั้นค่า memory ที่เป็นไปได้คือ DDR2 ที่มี Datarate ตั้งแต่ 500MHz ขึ้นไป (ในที่นี้คือ DDR2 533)ก็สามารถใช้งานกับ AMD ได้ไม่มีปัญหา มากกว่า
นั้นก็ไม่ได้ช่วยให้ performance ดีขึ้น เพราะว่า AMD เองไม่ได้ต้องการ bandwidth ขนาดนั้น ดังนั้นการที่ลด latency จะให้ผลที่มากกว่าแล่ะดีกว่าในกรณีของ
AMD
Case 2:
สมมุติว่าคุณสามารถ OC CPU ตัวนี้ได้เป็น 2.85GHz ด้วยค่า Multiply 9.5 เท่าเดิม Memory ของุคุณจะต้องวิ่งอยู่ที่ 300MHz
ค่า HTT/FSB = 2.5 * 300 คำนวนได้ค่า Data Rate แท้จริงคือ 750 MHz
มาดูที่ DDR2 ที่สามารถ support Data Rate ที่ 750MHz ได้ ก็แสดงว่าจะต้องใช้ DDR2 800
Case 3:
OC CPU ได้เป็น 4.75GHz (อาจจะใช้ Liquid N2 )ด้วยค่า Multiply 9.5 เท่าเดิม Memory คุณจะต้องวิ่งที่ 500 MHz
คำนวนค่า Data Rate แท้จริง = 500 * 2.5 = 1250MHz ซึ่งค่านี้มากกว่าค่า HTT ดังนั้นการทำแบบนี้จะใช้งานไม่ได้ วิธีแก้คือไปปรับตัวคูณให้มากขึ้น เช่นเป็น
x12 แทน
ค่า Data Rate จะได้เป็น CPU 4.345 GHz แต่ความถี่ของ memory จะอยู่ที่ 395 MHz
คำนวน Data Rate ใหม่จะได้เป็น 395 * 2.5 = 987MHz ดังนั้นเราสามารถใช้ DDR2 1066 สำหรับงานนี้ได้
ในกรณีของ Core2 Duo
Core2 Duo ต่างกันกับ AMD โดยสิ้นเชิง เนื่องจากค่า FSB ถูกกำหนดมาพร้อมกับตัว chip และค่า Multiply ถูก lock จาก Intel
แต่มี QDR (Quad Data rate)ซึ่งสามารถเพิมความสามารถในการนำข้อมูลเข้าสู่ระบบ ทำให้การทำความเข้าใจง่ายขึ้น
Rule of Thumb
- FSB
ATA Rate ควรจะเป็น 1:1 เพื่อให้ได้ output ที่ดีสุด มากหรือน้อยกว่านั้นทำให้การทำงานเป็น Asynchronus ซึ่งไม่ได้ประโยชน์อะไร
Case 1:
Core 2 Duo E6850
CPU Clock: 3000 MHz
FSB: 1333 MT/s
CPU Multiply: 9x
เราสามารถใช้ DDR2 ที่ใช้ QDR mode (Dual Chanel) ที่มี Data rate = 1333 / 2 = 667 MHz/Channel ได้อย่างไม่มีปัญหาอะไร
Case 2:
เนื่องจากการ OC CPU ใน Core2 Duo มีได้เพียงวิธีเดียวคือการเพิ่ม FSB ขึ้นดังนั้น
ถ้าเราเพิ่ม OC CPU โดยต้องการที่ 3.6GHz จะต้องเพิ่ม FSB เป็น 1600 MT/s = 800 MHz/Channel
ดังนั้น DDR2 ที่สามารถรองรับการ OC นี้ได้ก็เป็น 800 MHz
Case 3:
เมื่อเรา OC CPU เป็น 4.79GHz ขึ้นมาโดยเพิ่ม FSB เป็น 1789 MT/s = 894.5 MHz/Channel
ดังนั้น DDR2 ที่สามารถรองรับการ OC นี้ได้ก็เป็น 1066 MHz
SPD ในหน่วยความจำคืออะไร
SPD (Serial Presence Detect) เป็นคุณสมบัติอย่างหนึ่งซึ่งมีอยู่ในโมดูล DDR ทุกชนิด คุณสมบัติข้อนี้ใช้แก้ปัญหาเรื่องความคอมแพตทิเบิล และช่วยทำให้ไบออสปรับแต่งระบบเพื่อใช้ประโยชน์จากเมมโมรีได้อย่างเต็มที่ได้โดยง่าย อุปกรณ์ SPD เป็นชิป EEPROM ติดตั้งอยู่บนเมมโมรีโมดูล โดยทำการจัดเก็บข้อมูลของโมดูล DIMM อาทิขนาด ความเร็ว ความกว้างข้อมูล โวลต์เตจและตัวแปรอื่นๆ ถ้าหากคุณปรับแต่งเมมโมรีเป็นแบบ SPD ไบออสจะทำการอ่านตัวแปรเหล่านี้ในช่วงรูทีน POST (บูตเครื่อง) จากนั้นก็จะทำการปรับแต่งค่าในไบออสให้สอดคล้องกับสเปคที่ผู้ผลิตกำหนดเอาไว้
ถ้าหากไบออสไม่สามารถอ่านข้อมูล SPD ได้อย่างถูกต้อง เมนบอร์ด ไบออส และการตั้งค่าตัวแปรเป็น SPD หรือ Auto อาจจะส่งผลทำให้ไบออสกำหนดตัวแปรเป็น full-fast timings (เวลาที่ต่ำสุดเท่าที่เป็นไปได้) หรือ full-slow timings (เวลาที่สูงสุดเท่าที่เป็นไปได้) สถานการณ์แบบนี้เกิดขึ้นเมื่อโมดูลเมมโมรีบางอันไม่คอมแพตทิเบิลกัน ถ้าหากการอ่านข้อมูล SPD ไม่ถูกต้องแล้วไบออสไปใช้ memory timings เร็วกว่าโมดูลหรือระบบทั้งหมดจะทำให้บูตไม่ได้ก็มี ดังนั้นในกรณีนี้คุณควรลองเปลี่ยนโมดูลอันใหม่ แล้วกำหนดให้ไบออสยอมให้คุณตั้งค่าตัวแปรเอง จากนั้นคุณต้องกำหนดให้ timing เป็นค่าที่ปลอดภัยกว่า (สูงขึ้น) เพื่อช่วยให้การใช้เมมโมรีแบบผสมผสานใช้งานได้
ความสำคัญของ Memory timings
แนวคิดทั่วไปเกี่ยวกับประสิทธิภาพของเมมโมรีก็คือ ความเร็วที่สูงกว่า (เป็น MHz) และความล่าช้าในการเข้าถึงข้อมูลที่ลดลง (latency) จะส่งผลทำให้มีแบนด์วิดท์ที่มากกว่า จะมีประสิทธิภาพที่ดีกว่า แต่สิ่งที่ผู้ใช้มักมองข้ามก็คือความล่าช้า (latency) ในขณะที่พยายามเพิ่มประสิทธิภาพของระบบ
ประสิทธิภาพของเมมโมรีไม่ได้กำหนดโดยแบนด์วิดท์เสมอไป แต่ยังขึ้นอยู่กับความเร็วของการตอบสนองต่อคำสั่งใดคำสั่งหนึ่ง หรือเวลาที่รอก่อนที่จะเริ่มหรือจบขั้นตอนการทำงานของการอ่านหรือเขียนข้อมูล เรื่องเหล่านี้ก็คือความล่าช้าของเมมโมรีหรือเวลาในการตอบสนอง (Timings) เมมโมรีไทม์มิงควบคุมวิธีการเรียกใช้เมมโมรีและอาจเป็นปัจจัยหลักที่จะทำให้ประสิทธิภาพโดยรวมในพีซีของคุณดีขึ้นหรือเลวลงได้
เมมโมรีจะจัดเรียงในลักษณะของสเปรดชีต โดยแบ่งออกเป็นแถว (Rows) และคอลัมน์ (Colums) สัญญาณพื้นฐานจะถูกส่งไปยัง RAM เพื่ออ่านหรือบันทึกข้อมูล รวมถึงการกำหนดแอดเดรสและทำการคอนโทรลต่างๆ โดยแอดเดรสก็คือจุดที่ใช้จัดเก็บข้อมูลในเมมโมรีแบงก์ ในขณะที่สัญญาณคอนโทรลก็คือคำสั่งต่างๆ ที่จำเป็นต่อการอ่านและบันทึกข้อมูล ซึ่งโดยปกติแล้วจะมีความล่าช้าเกิดขึ้นก่อนที่จะมีการประมวลผลหรือจบการทำงานของสัญญาณคอนโทรล
ฟอร์แมตมาตรฐานสำหรับความล่าช้าของเมมโมรีใช้ตัวเลข 4 ชุดคั่นด้วยขีดจากซ้ายไปขวา อาทิ 2-2-2-6 (CAS-tRP-tRCD-tRAS) ตัวเลขเหล่านี้เป็นตัวแทนว่าความล่าช้าแต่ละแบบมีวงรอบสัญญาณนาฬิกามากน้อยขนาดไหน แต่ไม่ได้เรียงลำดับของการเกิดตัวเลขชุดนี้ไบออสแต่ละชนิดจะแสดงตัวเลขชุดนี้แตกต่างกันได้ รวมทั้งอาจจะมีความล่าช้าแบบอื่นๆ เพิ่มเข้ามาด้วย
Timings แต่ละชนิดมีความหมายว่าอย่างไร
โดยปกติแล้วเมนูไบออสซึ่งอยู่ในเมนบอร์ดมักมีการตั้งค่าตัวแปรแบบต่างๆ จำนวนมาก เพื่อช่วยให้เมมโมรีทำงานได้อย่างสมบูรณ์แบบมากขึ้น โดยตัวเลือกต่างๆ เหล่านี้ก็คือตัวเลือกการกำหนดความล่าช้าซึ่งมีอยู่ในไบออสยุคใหม่ส่วนใหญ่
command rate ความล่าช้านี้ (เป็นวงรอบสัญญาณนาฬิกา) เป็นช่วงเวลาระหว่างการยืนยันการเลือกชิป (อาทิเช่นการเลือก RAM) และคำสั่ง (อาทิ Activate Row) ที่ส่งไปให้ RAM ค่าปกติก็คือ 1T (หนึ่งรอบสัญญาณนาฬิกา) และ 2T (สองรอบสัญญาณนาฬิกา)
CAS (Column Address Strobe หรือ Column Address Select) คือจำนวนวงรอบสัญญาณนาฬิกา (หรือ Ticks ซึ่งย่อเป็น T) ระหว่างการส่งคำสั่ง READ จนถึงเมื่อข้อมูลส่งมาถึงบัสข้อมูล เราอาจมองว่าเมมโมรีเป็นตารางตำแหน่งของเซลล์ และความล่าช้า CAS จะเกิดขึ้นทุกครั้งที่มีการเปลี่ยนแปลงคอลัมน์ ซึ่งเกิดขึ้นบ่อยกว่าการเปลี่ยนแถว
tRP (RAS Precharge Delay) เป็นความเร็วหรือช่วงเวลาที่ DRAM ใช้สำหรับการยกเลิกการติดต่อกับข้อมูลแถวหนึ่งแล้วไปเริ่มแถวใหม่ หรือพูดง่ายๆ ก็คือการเปลี่ยนเมมโมรีแบงก์นั่นเอง
tRCD (ความล่าช้าจาก RAS (Row Access Strobe) ถึง CAS) หมายถึงช่วงเวลาระหว่างการติดต่อกับ RAS และ CAS นั่นเอง อาทิเช่นความล่าช้าระหว่างการเรียกใช้เมมโมรีแบงก์ชุดหนึ่ง
cradit : ektawan
gungsakab:
ทำไมใส่ memory speed สูงขึ้นแล้ว computer ไม่ได้เร็วตาม
อ้างจาก: OSTO ที่ ธันวาคม 25, 2007, 07
11 pmอ้างถึง
สรุป ว่าถ้าใช้ AMD ต้องลดความเร็วของบัสลงใช่ป่ะคับ
ไม่ใช่ครับ เพียงแต่ว่าการเพิ่มความเร็ว Ram BUS ของ AMD มีผลน้อยกว่า Intel เนื่องจาก AMD ใช้ internal memory controller ซึ่งมีประสิทธิภาพ เหนือกว่าการดึง data ผ่าน north bridge ที่ใช้ใน Intel (เนื่องจาก Latency ต่ำกว่า)
อ้างจาก: OSTO ที่ ธันวาคม 25, 2007, 07
11 pmอ้างถึง
เเต่ถ้าเพิ่มก็เหมือนกับการ cpu คลอกขึ้น อีกทีน่ะคับ เเปลว่าอ่ะไรคับ
หมายถึงว่า RAM ที่มี Bus สูงๆเหมาะสำหรับการทำ overclock CPU ครับ เนื่องจากมีการเพิ่มสัญญาณนาฬิกาที่ FSB ทำให้ต้องการ ram ที่มี Bus สูงขึ้น
อ้างจาก: OSTO ที่ ธันวาคม 25, 2007, 07
11 pmอ้างถึง
Latency เเปลว่า
CL เเปลว่า
แปลว่าความหน่วงอันเนื่องจาก memory เองครับ มีทั้งหมด 4 ตัวหลักๆ CAS (CL)/tRCD/tRPD/tRAS โดยปกติจะเขียนเรียงกัน 4 ตัวดังนี้
4-4-4-12 ค่าเหล่านี้มีผลโดยตรงก่อนที่คุณจะสามารถเริ่มเข้าถึงข้อมูลได้
CAS (Column Access Strobe หรือ Column Address Select), CL (CAS Latency)
เวลาที่ใช้ในการเข้าถึงข้อมูลด้าน column ของข้อมูล
tRCD(RAS to CAS Delay)
เวลาที่ใช้ระหว่างมีการเรียก RAS จนกระทั่งเริ่มมีการเรียกใช้ CAS ส่วนใหญ่ค่านี้ไม่มีผลเท่าไหร่เนื่องจากข้อมูลมักจะเก็บต่อกันอยู่
tRPD (RAS Precharge Delay)
เวลาที่ใช้ในการยกเลิกการเข้าถึง row ของข้อมูล และเข้าถึงข้อมูลใน row ถัดไป
tRAS (Row Access Strobe)
เวลาที่ใช้ในการเข้าถึงข้อมูลทั้งหมด โดยค่าของ tRAS ต้องไม่น้อยกว่า tRCD+CAS + 2 cycles
เพราะฉะนั้นค่า tCAS กับ tRAS ยิ่งใกล้กันมากเท่าไหร่ยิ่งดี
โดยปกติเวลาเราคำนวนค่าว่า CPU เหมาะกับ memory ขนาดไหน เท่าไหร่ ต้องดูว่า CPU ตัวนั้นมีสัญญาณนาฬิกา เทียบกับความหน่วง (lantency) เพื่อดูว่า เราควรจะ
ปรับอะไร ตัวอย่าง
กรณี AMD
Athlon X2 BE-2300 G1
CPU Clock 1900 MHz
HTT 1000 MHz
Multiplier 9.5x
HTT/FSB = 2.5 หรือ 3
AMD หลายๆรุ่นจะไม่มีการ lock ตัวคูณ แต่ Fix ค่า HTT ไว้ไม่ให้เกินที่กำหนดใน spec เท่านั้น
Rule of Thumb
- ความถี่ Data Rate ได้จาก CPU clock / Multiply
- Data rate ที่ได้ เมื่อคูณกับค่า HTT/FSB ต้องไม่เกิน ค่า HTT
Case 1:
CPU วิ่งที่ 1.9GHz ด้วยค่า multiply = 9.5 จะได้ว่า memory คุณจะต้องวิ่งที่อยู่ที่ 1900/9.5 = 200 MHz
ค่า HTT/FSB = 2.5 เพราะฉะนั้น Data rate แท้จริงคือ 2.5 * 200 = 500 MHz (ซึ่งค่านี้ต้องไม่เกิน bandwidth ของ HTT = 1000MHz)
เพราะฉะนั้นค่า memory ที่เป็นไปได้คือ DDR2 ที่มี Datarate ตั้งแต่ 500MHz ขึ้นไป (ในที่นี้คือ DDR2 533)ก็สามารถใช้งานกับ AMD ได้ไม่มีปัญหา มากกว่า
นั้นก็ไม่ได้ช่วยให้ performance ดีขึ้น เพราะว่า AMD เองไม่ได้ต้องการ bandwidth ขนาดนั้น ดังนั้นการที่ลด latency จะให้ผลที่มากกว่าแล่ะดีกว่าในกรณีของ
AMD
Case 2:
สมมุติว่าคุณสามารถ OC CPU ตัวนี้ได้เป็น 2.85GHz ด้วยค่า Multiply 9.5 เท่าเดิม Memory ของุคุณจะต้องวิ่งอยู่ที่ 300MHz
ค่า HTT/FSB = 2.5 * 300 คำนวนได้ค่า Data Rate แท้จริงคือ 750 MHz
มาดูที่ DDR2 ที่สามารถ support Data Rate ที่ 750MHz ได้ ก็แสดงว่าจะต้องใช้ DDR2 800
Case 3:
OC CPU ได้เป็น 4.75GHz (อาจจะใช้ Liquid N2 )ด้วยค่า Multiply 9.5 เท่าเดิม Memory คุณจะต้องวิ่งที่ 500 MHz
คำนวนค่า Data Rate แท้จริง = 500 * 2.5 = 1250MHz ซึ่งค่านี้มากกว่าค่า HTT ดังนั้นการทำแบบนี้จะใช้งานไม่ได้ วิธีแก้คือไปปรับตัวคูณให้มากขึ้น เช่นเป็น
x12 แทน
ค่า Data Rate จะได้เป็น CPU 4.345 GHz แต่ความถี่ของ memory จะอยู่ที่ 395 MHz
คำนวน Data Rate ใหม่จะได้เป็น 395 * 2.5 = 987MHz ดังนั้นเราสามารถใช้ DDR2 1066 สำหรับงานนี้ได้
ในกรณีของ Core2 Duo
Core2 Duo ต่างกันกับ AMD โดยสิ้นเชิง เนื่องจากค่า FSB ถูกกำหนดมาพร้อมกับตัว chip และค่า Multiply ถูก lock จาก Intel
แต่มี QDR (Quad Data rate)ซึ่งสามารถเพิมความสามารถในการนำข้อมูลเข้าสู่ระบบ ทำให้การทำความเข้าใจง่ายขึ้น
Rule of Thumb
- FSB
ATA Rate ควรจะเป็น 1:1 เพื่อให้ได้ output ที่ดีสุด มากหรือน้อยกว่านั้นทำให้การทำงานเป็น Asynchronus ซึ่งไม่ได้ประโยชน์อะไรCase 1:
Core 2 Duo E6850
CPU Clock: 3000 MHz
FSB: 1333 MT/s
CPU Multiply: 9x
เราสามารถใช้ DDR2 ที่ใช้ QDR mode (Dual Chanel) ที่มี Data rate = 1333 / 2 = 667 MHz/Channel ได้อย่างไม่มีปัญหาอะไร
Case 2:
เนื่องจากการ OC CPU ใน Core2 Duo มีได้เพียงวิธีเดียวคือการเพิ่ม FSB ขึ้นดังนั้น
ถ้าเราเพิ่ม OC CPU โดยต้องการที่ 3.6GHz จะต้องเพิ่ม FSB เป็น 1600 MT/s = 800 MHz/Channel
ดังนั้น DDR2 ที่สามารถรองรับการ OC นี้ได้ก็เป็น 800 MHz
Case 3:
เมื่อเรา OC CPU เป็น 4.79GHz ขึ้นมาโดยเพิ่ม FSB เป็น 1789 MT/s = 894.5 MHz/Channel
ดังนั้น DDR2 ที่สามารถรองรับการ OC นี้ได้ก็เป็น 1066 MHz
Comment