วันพุธที่ 18 กรกฎาคม พ.ศ. 2555

เรื่องที่ 6 หน่วยประมวลผลกลางและความจำหลัก







หน่วยประมวลผลกลาง(central processing unit) หรือที่นิยมเรียกสั้น ๆ ว่า ซีพียู (CPU)

advertisements

เป็นวงจรอิเลคทรอนิคที่ทำงาน หรือประมวลผล ตามชุดของคำสั่งเครื่องจากซอฟต์แวร์ คำนี้เริ่มใช้ในอุตสาหกรรมคอมพิวเตอร์ตั้งแต่ต้นศตวรรษ 1960s

หน่วยประมวลผลเปรียบ เสมือนเป็นสมองของคอมพิวเตอร์ ในการทำหน้าที่ตัดสินใจหรือคำนวณ จากคำสั่งที่ได้รับมา เช่น การเปรียบเทียบ การกระทำการทางคณิตศาสตร์ ฯลฯ
โดยมีกระบวนการพื้นฐานคือ

    • 1. อ่านชุดคำสั่ง (fetch)
    • Fetch - การอ่านชุดคำสั่งขึ้นมา 1 คำสั่งจากโปรแกรม ในรูปของระหัสเลขฐานสอง (Binary Code from on-off of BIT)
    • 2. ตีความชุดคำสั่ง (decode)
    • Decode - การตีความ 1 คำสั่งนั้นด้วยวงจรถอดรหัส (Decoder circuit) ตามจำนวนหลัก (BIT) ว่ารหัสนี้จะให้วงจรอื่นใดทำงานด้วยข้อมูลที่ใด
    • 3. ประมวลผลชุดคำสั่ง (execute)
    • Execute - การทำงานตาม 1 คำสั่งนั้น คือ วงจรใดในไมโครโปรเซสเซอร์ทำงาน เช่น วงจรบวก วงจรลบ วงจรเปรียบเทียบ วงจรย้ายข้อมูล ฯลฯ
    • 4. อ่านข้อมูลจากหน่วยความจำ (memory)
    • Memory - การติดต่อกับหน่วยความจำ การใช้ข้อมูที่อยู่ในหน่วยจำชั่วคราว (RAM, Register) มาใช้ในคำสั่งนั้นโดยอ้างที่อยู่ (Address)
    • 5. เขียนข้อมูล/ส่งผลการประมวลกลับ (write back)
    Write Back - การเขียนข้อมูลกลับ โดยมีหน่วยจำ Register ช่วยเก็บที่อยู่ของคำสั่งต่อไป ภายหลังมีคำสั่งกระโดดบวกลบที่อยู่


  • โปรเซสเซอร์ (Processor) หรือ ชิป (chip)

  • นับเป็นอุปกรณ์ ที่มีความสำคัญมากที่สุด ของฮาร์ดแวร์เพราะมีหน้าที่ในการประมวลผลข้อมูลที่ผู้ใช้ป้อน เข้ามาทางอุปกรณ์อินพุต ตามชุดคำสั่งหรือโปรแกรมที่ผู้ใช้ต้องการใช้งาน หน่วยประมวลผลกลาง ประกอบด้วยส่วนประสำคัญ 3 ส่วน คือ

1. หน่วยคำนวณและตรรกะ (Arithmetic & Logical Unit : ALU)
หน่วยคำนวณตรรกะ ทำหน้าที่เหมือนกับเครื่องคำนวณอยู่ในเครื่องคอมพิวเตอร์โดยทำงานเกี่ยวข้อง กับ การคำนวณทางคณิตศาสตร์ เช่น บวก ลบ คูณ หาร นอกจากนี้หน่วยคำนวณและตรรกะของคอมพิวเตอร์ ยังมีความสามารถอีกอย่างหนึ่งที่เครื่องคำนวณธรรมดาไม่มี คือ ความสามารถในเชิงตรรกะศาสตร์ หมายถึง ความสามารถในการเปรียบเทียบตามเงื่อนไข และกฎเกณฑ์ทางคณิตศาสตร์ เพื่อให้ได้คำตอบออกมาว่าเงื่อนไข นั้นเป็น จริง หรือ เท็จ เช่น เปรียบเทียบมากว่า น้อยกว่า เท่ากัน ไม่เท่ากัน ของจำนวน 2 จำนวน เป็นต้น ซึ่งการเปรียบเทียบนี้มักจะใช้ในการเลือกทำงานของเครื่องคอมพิวเตอร์ จะทำตามคำสั่งใดของโปรแกรมเป็น คําสั่งต่อไป


2. หน่วยควบคุม (Control Unit)
หน่วยควบคุมทำหน้าที่ควบคุมลำดับขั้นตอนการการประมวลผลและการทำงานของ อุปกรณ์ต่างๆ ภายใน หน่วยประมวลผลกลาง และรวมไปถึงการประสานงานในการทำงานร่วมกันระหว่างหน่วยประมวลผลกลาง กับอุปกรณ์นำเข้าข้อมูล อุปกรณ์แสดงผล และหน่วยความจำสำรองด้วย เมื่อผู้ใช้ต้องการประมวลผล ตามชุดคำสั่งใด ผู้ใช้จะต้องส่งข้อมูลและชุดคำสั่งนั้น ๆ เข้าสู่ระบบ คอมพิวเตอร์เสียก่อน โดยข้อมูล และชุดคำสั่งดังกล่าวจะถูกนำไปเก็บไว้ในหน่วยความจำหลักก่อน จากนั้นหน่วยควบคุมจะดึงคำสั่งจาก ชุดคำสั่งที่มีอยู่ในหน่วยความจำหลักออกมาทีละคำสั่งเพื่อทำการแปล ความหมายว่าคำสั่งดังกล่าวสั่งให้ ฮาร์ดแวร์ส่วนใด ทำงานอะไรกับข้อมูลตัวใด เมื่อทราบความหมายของ คำสั่งนั้นแล้ว หน่วยควบคุมก็จะส่ง สัญญาณคำสั่งไปยังฮาร์ดแวร์ ส่วนที่ทำหน้าที่ ในการประมวลผลดังกล่าว ให้ทำตามคำสั่งนั้น ๆ เช่น ถ้าคำสั่ง ที่เข้ามานั้นเป็นคำสั่งเกี่ยวกับการคำนวณ หน่วยควบคุมจะส่งสัญญาณ คำสั่งไปยังหน่วยคำนวณและตรรกะ ให้ทำงาน หน่วยคำนวณและตรรกะก็จะไปทำการดึงข้อมูลจาก หน่วยความจำหลักเข้ามาประมวลผล ตามคำสั่งแล้วนำผลลัพธ์ที่ได้ไปแสดงยังอุปกรณ์แสดงผล หน่วยควบคุมจึงจะส่งสัญญาณคำสั่งไปยัง อุปกรณ์แสดงผลลัพธ์ ที่กำหนดให้ดึงข้อมูลจากหน่วยความจำหลัก ออกไปแสดงให้เห็นผลลัพธ์ดังกล่าว อีกต่อหนึ่ง


3. หน่วยความจำหลัก (Main Memory)
คอมพิวเตอร์จะสามารถทำงานได้เมื่อมีข้อมูล และชุดคำสั่งที่ใช้ในการประมวลผลอยู่ในหน่วยความ จำหลักเรียบร้อยแล้วเท่านั้น และหลักจากทำการประมวลผลข้อมูลตามชุดคำสั่งเรียบร้อยแล้ว ผลลัพธ์ที่ได้ จะถูกนำไปเก็บไว้ที่หน่วยความจำหลัก และก่อนจะถูกนำออกไปแสดงที่อุปกรณ์แสดงผล



CPU ทำหน้าที่อะไร

CPU หรือ Central Processing Unit เป็น หัวใจหลักในการประมวลของคอมพิวเตอร์ โดยพื้นฐานแล้วซีพียูทำหน้าที่ประมวลผลข้อมูลเชิงคณิตศาสตร์และข้อมูลเชิง ตรรกะเท่านั้น แต่ทำไมการคำนวณขนาดนี้ ต้องมีการพัฒนาซีพียูกันไม่หยุดหย่อน ย้อนกลับไปปี 1946 คอมพิวเตอร์ยุคแรกที่มีชื่อที่พอจะจำได้ก็คือ ENIVAC นั้นทำงานโดยใช้หลอดไดโอด ซึ่งสถานะการทำงานของหลอดพวกนี้ มีสองอย่าง คือ 1 กับ 0 จะมีค่าเป็น 1 เมื่อมีกระแสไหลผ่านและเป็น 0 เมื่อไม่มีกระแสไหลผ่าน นั่นจึงเป็นเหตุผลให้คอมพิวเตอร์ใช้เลขฐาน 2 ในการคำนวณ ครั้นต่อมาวิทยาการก้าวหน้าขึ้นเรื่อยๆ จากหลอดไดโอดก็พัฒนาเป็นทรานซิสเตอร์ และจากทรานซิสเตอร์ก็พัฒนาเป็นวงจรขนาดเล็ก ซึ่งรู้จักกันในชื่อของ IC และในที่สุดก็พัฒนาเป็น Chip อย่างที่เรารู้จักกันมาจนปัจจุบันนี้
สิ่งที่ผู้ผลิตซีพียูพยายามเพิ่มก็คือ ประสิทธิภาพในการประมวลผลของซีพียู เมื่อกล่าวถึงซีพียูและการประมวลผล สิ่งหนึ่งที่เราต้องเข้าใจคือภายในซีพียูไม่มีหน่วยเก็บข้อมูลสำหรับเก็บ ข้อมูลปริมาณมากๆ และซีพียูในยุคแรกๆ ก็ไม่มี Cache ด้วยซ้ำไป ปัจจัยที่มีผลต่อความเร็วของซีพียูก็คือ ความเร็วในการประมวลผลและความเร็วในการโอนย้ายข้อมูล ซีพียูในยุคแรกๆ นั้นประมวลผลด้วยความเร็ว 4.77 MHz และมีบัสซีพียู (CPU BUS) ความกว้าง 8 บิต เรียกกันว่าซีพียู 8 บิต (Intel 8080 8088) นั้นก็คือซีพียูเคลื่อนย้ายข้อมูลครั้งละ 1 ไบต์ ยุคต่อมาเป็นซีพียู 16 บิต 32 บิต และ 64 บิต ปัจจุบันโดยเฉพาะซีพียูรุ่นใหม่ๆ เคลื่อนย้ายข้อมูลครั้งละ 128 บิต ในการเคลื่อนย้ายข้อมูลนั้น เกิดขึ้นจากการควบคุมสัญญาณนาฬิกา ซึ่งนับสัญญาณเป็น Clock 1 เช่น ซีพียู 100 MHz หมายความว่าเกิดสัญญาณนาฬิกา 100 ครั้งต่อวินาที


กลไกการทำงานของซีพียู

การทำงานของคอมพิวเตอร์ ใช้ หลักการเก็บคำสั่งไว้ที่หน่วยความจำ ซีพียูอ่านคำสั่งจากหน่วยความจำมาแปลความหมายและกระทำตามเรียงกันไปทีละคำ สั่ง หน้าที่หลักของซีพียู คือควบคุมการทำงานของคอมพิวเตอร์ทั้งระบบ ตลอดจนทำการประมวลผล
กลไกการทำงานของซีพียู มีความสลับซับซ้อน ผู้พัฒนาซีพียูได้สร้างกลไกให้ทำงานได้ดีขึ้น โดยแบ่งการทำงานเป็นส่วน ๆ มีการทำงานแบบขนาน และทำงานเหลื่อมกันเพื่อให้ทำงานได้เร็วขึ้น



ปัจจัยที่มีผลต่อความเร็วของซีพียู

ความสามารถในการประมวลผล (Processing Power) คือ ประสิทธิภาพและความเร็วในการทำงานของซีพียู ซึ่งขึ้นอยู่กับชนิดหรือรุ่นของซีพียู เครื่องคอมพิวเตอร์ส่วนบุคคล (Personal Computer) โดยทั่วไปจะใช้ซีพียูในตระกูลของอินเทล เช่น Pentium I, Pentium II, Pentium III ส่วนเครื่องคอมพิวเตอร์อื่นจะใช้ซีพียูที่ต่างกันออกไป
คอมพิวเตอร์ทำงานด้วยความเร็วที่แตกต่างกันซึ่งขึ้นอยู่กับปัจจัยต่างๆ ดังนี้

• รีจิสเตอร์
• หน่วยความจำภายนอก
• สัญญาณนาฬิกา เป็นจังหวะ สัญญาณ (Pulse) ในหนึ่งรอบสัญญาณ (Clock Cycle) คอมพิวเตอร์จะคำนวณหนึ่งครั้ง ส่วนความเร็วของรอบสัญญาณ คือจำนวนรอบของสัญญาณต่อวินาที ซึ่งมีความเร็วมากกว่า 100 ล้านรอบต่อวินาที (100 Megahertz) (แอนนา 2540: 9)
• บัส
• หน่วยความจำแคช
• Passing Math Operation

 คือ หน่วยความจำที่ต่อกับหน่วยประมวลผลกลาง และหน่วยประมวลผลกลางสามารถใช้งานได้โดยตรง หน่วยความจำ ชนิดนี้จะเก็บข้อมูล และชุดคำสั่งในระหว่างประมวลผล และมีกระแสไฟฟ้า เมื่อปิดเครื่องคอมพิวเตอร์ข้อมูลในหน่วย ความจำนี้จะหายไปด้วย หน่วยความจำหลักที่ใช้ในระบบคอมพิวเตอร์ปัจจุบัน เป็นชนิดที่ทำมาจากสารกึ่งตัวนำ หน่วยความจำชนิดนี้มีขนาดเล็ก ราคาถูก แต่เก็บข้อมูลได้มาก และสามารถให้หน่วยประมวลผลกลาง นำข้อมูลมาเก็บ และเรียกค้นได้อย่างรวดเร็ว
         เครื่องคอมพิวเตอร์ทุกเครื่องต้องอาศัยหน่วยความจำหลัก เพื่อใช้เก็บข้อมูลและคำสั่ง ซีพียูจะทำหน้าที่นำคำสั่ง จากหน่วยความจำหลัก มาแปลงความหมายแล้วกระทำตาม เมื่อทำเสร็จก็จะนำผลลัพธ์มาเก็บไว้ในหน่วยความจำหลัก ซีพียูจะกระทำตามขั้นตอนเช่นนี้เป็นวงรอบเรื่อยๆ ไปอย่างรวดเร็ว เรียกการทำงานลักษณะนี้ว่า วงรอบคำสั่ง (Execution cycle)
         จากการทำงานเป็นวงรอบของซีพียูนี้เอง การอ่านเขียนข้อมูลลงในหน่วยความจำหลัก จะต้องทำได้อย่างรวดเร็ว เพื่อให้ทันการทำงานของซีพียู โดยปกติุุถ้าให้ซีพียูทำงานที่มีความถี่ของสัญญาณนาฬิกา 2,000 เมกะเฮิรตซ์ หน่วยความจำหลักที่ใช้ทั่วไปมักจะมีความเร็วไม่ทันช่วงติดต่ออาจมีเพียง 100 เมกะเฮิรตซ์
         หน่วยความจำหลักที่ใช้กับไมโครคอมพิวเตอร์ จึงต้องกำหนดคุณลักษณะในเรื่องช่วงเวลาเข้าถึงข้อมูล (Accesss time) ค่าที่ใช้ทั่วไปอยู่ในช่วงประมาณ 60 นาโนวินาที ถึง 125 นาโนวินาที (1 นาโนวินาทีเท่ากับ 10 ยกกำลัง -9 วินาที) แต่อย่างไรก็ตาม มีการพัฒนาให้หน่วยความจำ สามารถใช้กับซีพียูที่ทำงานเร็วขนาด 33 เมกะเฮิรตซ์ โดยการสร้าง หน่วยความจำพิเศษมาึคั่นกลางไว้ ซึ่งเรียกว่า หน่วยความจำแคช (cache memory) ซึ่งเป็นหน่วยความจำที่เพิ่มเข้ามา เพื่อนำชุดคำสั่ง หรือข้อมูลจากหน่วยหลักมาเก็บไว้ก่อน เพื่อให้ซีพียูเรียกใช้ได้เร็วขึ้น
แบ่งตามลักษณะการเก็บข้อมูล
1.หน่วยความจำแบบลบเลือนได้ (volatile memory)          คือถ้าเป็นหน่วยความจำที่เก็บข้อมูลไว้แล้ว หากไฟฟ้าดับ คือไม่มีไฟฟ้าจ่ายให้ กับวงจรหน่วยความจำ ข้อมูลที่เก็บไว้จะหายไปหมด
2. หน่วยความจำไม่ลบเลือน (nonvolatile memory)         คือ หน่วยความจำเก็บข้อมูลได้ โดยไม่ขึ้นกับไฟฟ้าที่เลี้ยงวงจร

แบ่งตามสภาพการใช้งาน
1. หน่วยความจำที่ซีพียูอ่านได้อย่างเดียว
           ไม่สามารถเขียนลงไปได้ เรียกว่า รอม (Read Only Memory : ROM)
รอมจึงเป็นหน่วยความจำที่เก็บข้อมูลหรือโปรแกรมไว้ถาวร เช่นเก็บโปรแกรมควบคุม การจัดการพื้นฐานของระบบ ไมโครคอมพิวเตอร์ (bios) รอม ส่วนใหญ่เป็นหน่วยความจำไม่ลบเลือนแต่อาจยอมให้ผู้พัฒนาระบบ ลบข้อมูลและ เขียนข้อมูลลงไปใหม่ได้ การลบข้อมูลนี้ต้องทำด้วยกรรมวิธีพิเศษ เช่น ใช้แสงอุลตราไวโลเล็ตฉายลงบนผิวซิลิกอน
หน่วยความจำประเภทนี้ มักจะมีช่องกระจกใสสำหรับฉายแสงขณะลบ และขณะใช้งานจะมีแผ่นกระดาษทึบ
ปิดทับไวเรียกหน่วยความจำประเภทนี้ว่า อีพร็อม (Erasable Programmable Read Only Memory : EPROM)

2. หน่วยความจำที่เขียนหรืออ่านข้อมูลได้

           การเขียนหรืออ่านจะเลือกที่ตำแหน่งใดก็ได้ เราเรียกหน่วยความจำประเภทนี้ว่า แรม (Random Access Memory: RAM) แรมเป็น หน่วยความจำแบบลบเลือนได้
          เป็นหน่วยความจำหลักที่สามารถนำโปรแกรม และข้อมูลจากอุปกรณ์ภายนอก หรือหน่วยความจำรองมาบรรจุไว้ หน่วยความจำแรมนี้ต่างจากรอมที่สามารถเก็บข้อมูลได้ เฉพาะเวลาที่มีไฟฟ้าเลี้ยงวงจรอยู่เท่านั้น หากปิดเครื่องข้อมูล จะหายได้หมดสิ้น เมื่อเปิดเครื่องใหม่อีกครั้ง จึงจะนำข้อมูลหรือโปรแกรมมาเขียนใหม่อีกครั้ง
          หน่วยความจำแรมมีขนาดแตกต่างกันออกไป หน่วยความจำชนิดนี้บางครั้งเรียกว่า read write memory ซึ่งหมายความว่า ทั้งอ่านและบันทึกได้ หน่วยความจำเป็บแรมที่ใช้อยู่สามารถแบ่งได้ 2 ประเภท คือ
1. ไดนามิกแรมหรือดีแรม (Dynamic RAM : DRAM)
          DRAM จะทำการเก็บข้อมูลในตัวเก็บประจุ ( Capacitor ) ซึ่งจำเป็นจะต้องมีการ refresh เพื่อ เก็บข้อมูลให้
คงอยู่ โดยการ refresh นี้ ทำให้เกิดการหน่วงเวลาขึ้นในการเข้าถึงข้อมูล และก็เนื่อง จากที่มันต้อง refresh ตัวเองอยู่ตลอดเวลานี้เอง จึงเป็นเหตุให้ได้ชื่อว่า Dynamic RAM ปัจจุบันนี้แทบจะหมดไปจากตลาดแล้ว
          ปัจจุบันมีการคิดค้นดีแรมขึ้นใช้งานอยู่หลายชนิด เทคโนโลยีในการพัฒนาหน่วยความจำประเภทแรม เป็นความพยายามลดเวลา ในส่วนที่สองของการอ่านข้อมูล นั่นก็คือช่วงวงรอบการทำงาน ดังนี้        
           Fast Page Mode DRAM (FPM DRAM)
               FPM นั้น ก็เหมือนๆกับ DRAM เพียงแต่ว่า มันลดช่วงการหน่วงเวลาในขณะเข้าถึงข้อมูลลง ทำให้มัน มีความเร็วในการเข้าถึงข้อมูลสูงกว่า DRAM ปกติ โดยที่สัญญาณนาฬิการปกติในการเข้าถึงข้อมูล จะเป็น 6-3-3-3 ( Latency เริ่มต้นที่ 3 clock พร้อมด้วย 3 clock สำหรับการเข้าถึง page ) และสำหรับระบบแบบ 32 bit จะมีอัตราการส่งถ่ายข้อมูลสูงสุด 100 MB ต่อวินาที ส่วนระบบแบบ 64 bit จะมีอัตราการส่งถ่ายข้อมูลสูงสุดที่ 200 MB ต่อวินาที เช่นกันครับ ปัจจุบันนี้ RAM ชนิดนี้ก็แทบจะหมดไปจากตลาดแล้ว แต่ก็ยังคงเห็นได้บ้างและมักจะมีราคา ที่ค่อนข้างแพงเมื่อเทียบกับ RAM รุ่นใหม่ๆ เนื่องจากที่ว่า ปริมาณที่มีในท้องตลาดมีน้อยมาก ทั้งๆที่ ยังมีคนที่ต้องการใช้ RAM ชนิดนี้อยู่
           Extended-Data Output (EDO)
               DRAM หรืออีกชื่อหนึ่งก็คือ Hyper-Page Mode DRAM ซึ่งพัฒนาขึ้นอีกระดับหนึ่ง โดยการที่มันจะอ้างอิงตำแหน่ง ที่อ่านข้อมูลจากครั้งก่อนไว้ด้วย ปกติแล้วการดึงข้อมูลจาก
RAM ณ ตำแหน่งใดๆ มักจะดึงข้อมูล ณ ตำแหน่งที่อยู่ใกล้ๆ จากการดึงก่อนหน้านี้ เพราะงั้น ถ้ามีการอ้างอิง ณ ตำแหน่งเก่าไว้ก่อน ก็จะทำให้ เสียเวลาในการเข้าถึงตำแหน่งน้อยลง และอีกทั้งมันยังลดช่วงเวลาของ CAS latency ลงด้วย และด้วยความสามารถนี้ ทำให้การเข้าถึงข้อมูลดีขึ้นกว่าเดิม กว่า 40% เลยทีเดียว และมีความ สามารถโดยรวมสูงกว่า FPM กว่า 15%
              EDO จะทำงานได้ดีที่ 66MHz ด้วย Timming 5-2-2-2 และ ก็ยังทำงานได้ดีเช่นกันถึงแม้จะใช้งานที่ 83MHz ด้วย Timming นี้ และหากว่า chip EDO นี้ มีความเร็วที่สูงมากพอ ( มากกว่า 50ns ) มันก็สามารถใช้งานได้ ณ 100 MHz ที่ Timming 6-3-3-3 ได้อย่างสบาย อัตราการส่งถ่ายข้อมูลสูงสุดของ DRAM ชนิดนี้อยู่ที่ 264M ต่อวินาที
              EDO RAM เองก็เช่นกัน ณ ปัจจุบันนี้ ก็หาได้ค่อนข้างยากแล้วในท้องตลาด เนื่องจากบริษัทผู้ผลิต หยุดผลิต หรือ ผลิตในปริมาณน้อยลงแล้ว เพราะหันไปผลิต RAM รุ่นใหม่ๆ แทน ทำให้ราคาเมื่อเทียบเป็น เมกต่อเมก กับ SDRAM จึงแพงกว่า

Burst EDO (BEDO) DRAM
               BEDO ได้เพิ่มความสามารถขึ้นมาจาก EDO เดิม คือ Burst Mode โดยหลังจากที่มันได้ address ที่ต้องการ address แรกแล้ว มันก็จะทำการ generate อีก 3 address ขึ้นทันที ภายใน 1 สัญญาณนาฬิกา ดังนั้นจึงตัดช่วงเวลาในการรับ address ต่อไป เพราะฉะนั้น Timming ของมันจึงเป็น 5-1-1-1 ณ 66 MHz
               BEDO ไม่เป็นที่แพร่หลาย และได้รับความนิยมเพียงระยะเวลาสั้นๆ เนื่องมาจากว่าทาง Intel ตัดสินใจใช้ SDRAM แทน EDO และไม่ได้ใช้ BEDO เป็นส่วนประกอบในการพัฒนา chipset ของตน ทำให้บริษัทผู้ผลิตต่างๆ หันมาพัฒนา SDRAM กันแทน
           Synchronous DRAM (SDRAM)
               SDRAM นี้ จะต่างจาก DRAM เดิม ตรงที่มันจะทำงานสอดคล้องกับสัญญาณนาฬิกา สำหรับ DRAM เดิมจะทราบตำแหน่งที่จะอ่าน ก็ต่อเมื่อเกิดทั้ง RAS และ CAS ขึ้น แล้วจึงทำการ ไปอ่านข้อมูล โดยมีช่วงเวลาในการ
เข้าถึงข้อมูล ตามที่เราๆมักจะได้เห็นบน chip ของตัว RAM เลย เช่น -50 , -60, -80 โดย -50 หมายถึง ช่วงเวลา
เข้าถึง ใช้เวลา 50 นาโนวินาทีเป็นต้น แต่ว่า SDRAM จะใช้สัญญาณนาฬิกาเป็นตัวกำหนดการทำงาน โดยจะใช้ความถี่
ของสัญญาณเป็นตัวระบุ SDRAM จะทำงานตามสัญญาณนาฬิกาขาขึ้น เพื่อรอรับตำแหน่งที่ต้องการให้มันอ่าน
แล้วจากนั้น มันก็จะไปค้นหาให้ และให้ผลลัพธ์ออกมา หลังจากได้รับตำแหน่งแล้ว เท่ากับ ค่า CAS เช่น CAS 2 ก็คือ หลังจากรับตำแหน่งที่จะอ่านแล้ว มันก็จะให้ผลลัพธ์ออกมา ภายใน 2 ลูกของสัญญาณนาฬิกา
               SDRAM จะมี Timming เป็น 5-1-1-1 ซึ่งแน่นอน มันเร็วพอๆ กันกับ BEDO RAM เลยทีเดียว แต่ว่ามันสามารถ ทำงานได้ ณ 100 MHz หรือ มากกว่า และมีอัตราการส่งถ่ายข้อมูลสูงสุดอยู่ที่ 528 M ต่อวินาที
           DDR SDRAM ( หรือ ที่เรียกกันว่า SDRAM II )
               DDR DRAM นี้ แยกออกมาจาก SDRAM โดยจุดที่ต่างกันหลักๆ ของทั้งสองชนิดนี้คือ DDR SDRAM นี้ สามารถที่จะใช้งานได้ทั้งขาขึ้น และ ขาลง ของสัญญาณนาฬิกา เพื่อส่งถ่ายข้อมูล นั่นก็ทำให้อัตราส่งถ่ายเพิ่มได้ถึงเท่าตัว ซึ่งจะมีอัตราส่งถ่ายข้อมูลสูงสุดถึง 1 G ต่อวินาทีเลยทีเดียว
           Rambus DRAM (RDRAM)
               ชื่อของ RAMBUS เป็นเครื่องหมายการค้าของบริษัท RAMBUS Inc. ซึ่งตั้งขึ้นมาตั้งแต่ยุค 80 แล้ว เพราะฉะนั้น ชื่อนี้ ก็ไม่ใช่ชื่อที่ใหม่อะไรนัก โดยปัจจุบันได้เอาหลักการของ RAMBUS มาพัฒนาใหม่ โดยการลด pin, รวม static buffer, และ ทำการปรับแต่งทาง interface ใหม่ DRAM ชนิดนี้ จะสามารถทำงานได้ทั้งขอบขาขึ้นและลง ของสัญญาณนาฬิกา และ เพียงช่องสัญญาณเดียว ของหน่วยความจำแบบ RAMBUS นี้ มี Performance มากกว่าเป็น
3 เท่า จาก SDRAM 100MHz แล้ว และ เพียงแค่ช่องสัญญาณเดียวนี้ก็มีอัตราการส่งถ่ายข้อมูลสูงสุดถึง 1.6 G ต่อวินาที               ถึงแม้ว่าเวลาในการเข้าถึงข้อมูลแบบสุ่มของRAMชนิดนี้จะช้า แต่การเข้าถึงข้อมูลแบบต่อเนื่องจะเร็วมากๆ ซึ่งหากว่า RDRAM นี้มีการพัฒนา Interface และ มี PCB ที่ดีๆ แล้วละก็ รวมถึง Controller ของ Interface ให้สามารถใช้งานมันได้ถึง 2 ช่องสัญญาณแล้วหล่ะก็ มันจะมีอัตราส่งถ่ายข้อมูลเพิ่มเป็น 3.2 G ต่อวินาทีและหากว่า
สามารถใช้งานได้ถึง 4 ช่องสัญญาณ ก็จะสามารถเพิ่มไปถึง 6.4 G ต่อวินาที มหาศาลเลย
2. Static Random Access Memory (SRAM)
              จะต่างจาก DRAM ตรงที่ว่า DRAM จะต้องทำการ refresh ข้อมูลอยู่ตลอดเวลา แต่ในขณะที่ SRAM จะเก็บข้อมูลนั้นๆ ไว้ และจะไม่ทำการ refresh โดยอัตโนมัติ ซึ่งมันจะทำการ refresh ก็ต่อเมื่อ สั่งให้มัน refresh เท่านั้น ซึ่งข้อดีของมัน ก็คือความเร็ว ซึ่งเร็วกว่า DRAM ปกติมาก แต่ก็ด้วยราคาที่สูงกว่ามาก จึงเป็นข้อด้อยของมันเช่นกัน
3.น่วยความจำความเร็วสูง (Cache Memory)
              หน่วยความจำแคช เป็นหน่วยความจำขนาดเล็กที่มีความเร็วสูง ทำหน้าที่เหมือนที่พักคำสั่ง และข้อมูลระหว่าง การทำงาน เพื่อให้การทำงานโดยรวมเร็วขึ้น แบ่งเป็นสองประเภท คือ แคชภายใน (Internal Cache) และแคชภายนอก (External Cache) โดยแคชภายใน หรือ L1 หรือ Primary Cache เป็นแคชที่อยู่ในซีพียู ส่วนแคชภายนอก เป็นชิปแบบ SRAM ติดอยู่บนเมนบอร์ด ทำงานได้ช้ากว่าแบบแรก แต่มีขนาดใหญ่กว่า เรียกอีกชื่อได้ว่า L2 หรือ Secondary Cache















ไม่มีความคิดเห็น:

แสดงความคิดเห็น