วันพฤหัสบดีที่ 27 กุมภาพันธ์ พ.ศ. 2557

บทที่ 4 หน่วยความจำ

บทนำ

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

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

        หน่วยความจำบนเครื่องพีซีที่เป็นหน่วยความจำหลักเรียกว่า RAM ซึ่งเป็นคำย่อมาจาก Random Access Memory การเรียกว่า RAM เพราะโครงสร้างการจัดเก็บข้อมูลจัดเก็บสถานะซึ่งแทนเลขไลบารี่ โดยมีการกำหนดตำแหน่งที่เก็บที่เรียกว่า แอดเดรส โดยทั่วไปจัดโครงสร้างของหน่วย ความจำให้มีความกว้างขนาด 8 บิต และตำแหน่งแอดเดรสบอกขนาดของ RAM ทั้งหมด เช่น ถ้า RAM มีขนาด 64 กิโลไบต์ (64 k) ก้อหมายถึงขนาดของ RAM มีความกว้างขนาด 8 บิต หรือ 1 ไบต์ และมีตำแหน่งที่เก็บได้เท่ากับ 65536 ตำแหน่ง (2 ยกกำลัง 16) โดยมีแอดเดรสกำหนดตำแหน่งทั้งหมด 16 บิต


รูปที่ 1 แสดงภาพหน่วยความจำ

หน่วยความจำแบบโวลาไทน์ และนอนโวลาไทน์

 Nonvolatile Memory หรือ นอนโวลาไทล์เมมโมรี่ คือ หน่วยความจำทุกชนิดที่ไม่ต้องทำการรีเฟรชคอนเทนต์ ได้แก่ รอมทุกประเภท (ROM) เช่น พีรอม (PROM), เอ็ปรอม (EPROM), อีเอ็ปรอม (EEPROM) และแฟลชเมมโมรี่ (Flash Memory) รวมถึงแรม (RAM)ที่ต้องใช้ไฟเลี้ยงจากแบตเตอรี่ด้วย
"Open-Source" หรือ "โอเพ่นซอร์ส" คือคำที่ใช้แทนคำว่า ฟรีซอฟต์แวร์ (Free Software) หรือซอฟต์แวร์เสรี ที่ให้เสรีภาพแก่ผู้บริโภคในการรันแก้ไขปรับปรุง และเผยแพร่โปรแกรม ไม่ว่าจะโดยการจำหน่ายหรือให้ฟรีก็ตาม แต่ที่สำคัญคือต้องแถมซอร์สโค้ด (Source Code) ไปด้
Operating System (OS) หรือ ระบบปฏิบัติการ คือ โปรแกรมที่โหลดขึ้นมาตามกระบวนการบูตเครื่องคอมพิวเตอร์
PCI Expressเทคโนโลยีใหม่สำหรับการเชื่อมต่ออุปกรณ์อินพุต/เอาต์พุต โดยเฉพาะกราฟิกการ์ด มีแบนด์วิธกว้างกว่าและความเร็วสูงกว่ามาตรฐาน PCI ที่ใช้กันอยู่ในปัจจุบัน
Podcastพ็อดคาสต์หรือ Podcast คือการบันทึกเสียงหรือการนำไฟล์เสียงขึ้นไปเก็บบนเว็บไซต์ เพื่อให้ผู้สนใจดาวน์โหลดมาฟัง
Processor หรือ โปรเซสเซอร์ คือวงจรตรรก (Logic) ซึ่งทำหน้าที่ตอบสนองหรือประมวลชุดคำสั่งพื้นฐาน (Instruction) ที่ใช้ในการขับเคลื่อนคอมพิวเตอร์ โดยทั่วไปแล้วคำ“Processor” อาจใช้แทนคำ “CPU” ได้ ทั้งนี้โปรเซสเซอร์ที่อยู่ในเครื่องพีซีหรือในอุปกรณ์อิเล็กทรอนิกส์ขนาดเล็กจะนิยมเรียกว่า “Microprocessor” หรือ ไมโครโปรเซสเซอร์

สแตติกแรมและไดนามิกส์แรม (Static RAM and Dynamic RAM)
หน่วยความจำที่ใช้งานส่วนใหญ่และมีปริมาณความจุสูงได้แก่ พวก RAM ด้วยเทคโนโลยี RAM ที่ใช้มีการแบ่งแยกออกเป็นสองกลุ่มคือ สแตติกแรม และไดนามิกส์แรม
สแตติกแรม (Static RAM - SRAM) เป็นหน่วยความจำที่ใช้สถานะทางวงจรไฟฟ้าเป็นที่เก็บข้อมูล โดยวงจรเล็ก ๆ แต่ละวงจรจะเก็บข้อมูล "0" "1" และคงสถานะไว้จนกว่าจะมีการสั่งเปลี่ยนแปลง ส่วนไดนามิกส์แรม (DRAM-Dynamic RAM) เป็นหน่วยความจำที่ใช้หลักการบรรจุประจุลงในหน่วยเล็ก ๆ ที่ทำหน้าที่เหมือนตัวเก็บประจุ แต่เป็นจากตัวเก็บประจุไฟฟ้าเล็ก ๆ นี้ ทำจากสารกึ่งตัวนำที่มีคุณสมบัติคงค่าแรงดันไว้ได้ชั่วขณะ จึงต้องมีกลไกการรีเฟรชหรือทำให้ค่าคงอยู่ได้ 
 จุดเด่นของ DRAM คือ มีความหนาแน่นต่อชิพสูงมากเมื่อเทียบกับ SRAM ดังนั้นจึงเป็นที่นิยมใช้เพราะมีราคาถูกกว่ามาก อย่างไรก็ดีการเชื่อมต่อเข้ากับวงจรคอมพิวเตอร์ของ DRAM มีข้อยุ่งยากมากกว่า SRAM และจากความจุสูงมากของ DRAM (ปัจจุบันมีความจุได้มากถึง 512 Mbit ต่อชิพ) ดังนั้นจึงต้องวางโครงสร้างแอดเดรสเพื่อเข้าถึงส่วนต่าง ๆ ของหน่วยความจำเป็นแบบแมทริกซ์ จงมีลักษณะเป็นแถวและสดมภ์



เทคโนโลยีของ DRAM ที่ใช้ใน PC
             เริ่มจากอดีต ตั้งแต่ยุคสมัยเริ่มต้นของการใช้ PC มีการนำเอาสแตติกแรมมาใช้ แต่ขนาดของ RAM ในขณะนั้นมีเพียง 8-16 กิโลไบต์ ซึ่งต้องใช้พื้นที่บอร์ดขนาดใหญ่ ครั้นถึงยุคพีซีที่แพร่หลาย เช่น เครื่องแอบเปิ้ลทู การใช้หน่วยความจำเริ่มหันมาใช้แบบ DRAMเมื่อมีการพัฒนา PC โดยบริษัทไอบีเอ็มที่เป็นต้นแบบที่เรียกว่า พีซีเอ็กซ์ที ไอบีเอ็มเลือกใช้ DRAM และเริ่มต้นด้วยขนาด 64 K ไบต์ และขยายมาเป็น 640 K ไบต์ ขยายเพิ่มจนหลายร้อยเมกะไบต์ในปัจจุบัน
           ในยุคแรกการใช้ DRAM ยังใช้เป็นชิพ ไม่มีเทคนิคอะไรมากนัก เพราะซีพียูทำงานด้วยความเร็วเพียง 4-10 เมกะเฮิร์ทซ์เท่านั้น แต่ต่อมาถึงยุคพีซี 386, 486 ซีพียูเริ่มทำงานที่ความเร็ว 33 MHz จนถึง 66 MHz ซึ่งความเร็วขณะนี้เร็วกว่าการทำงานของหน่วยความจำ จึงต้องเริ่มใช้เทคนิคการชลอที่เรียกว่า ให้จังหวะรอ (CPU-Wait State)ทำให้การทำงานไม่ได้เร็วอย่างที่ต้องการ
           หากพิจารณาที่ชิพหรือข้อกำหนดของ DRAM จะพบว่ามีข้อกำหนดที่สำคัญคือ ช่วงเวลาเข้าถึง ซึ่งกำหนดเป็นหน่วย นาโนวินาที (หนึ่งในสิบกำลังลงเก้า หรือหนึ่งในพันล้านวินาที) หากซีพียูวิ่งด้วยความเร็ว 10 เมกะเฮิร์ทซ์ จะมีวงรรอบสัญญาณนาฬิกา100 นาโนวินาที ถ้าความเร็วเพิ่มเป็น 100 เมกะเฮิร์ทซ์ ก็จะมีช่วงเวลาวงรอบของสัญญาณนาฬิกาเหลือ 10 นาโนวินาที ซึ่งเร็วขึ้นมาก และยิ่งในปัจจุบันใช้สัญญาณนาฬิกาสูงขึ้นอีกมาก
           ดังนั้นการใช้วิธีการเชื่อมต่อกับชิพโดยตรงเหมือนในยุคแรกคงไม่ได้ จึงมีผู้ผลิตแผ่นวงจรหน่วยความจำ โดยทำเป็นแผงเล็ก ๆ ภายในมีวงจรเชื่อมต่อที่ใช้เทคนิคต่าง ๆ เพื่อเพิ่มความเร็วในการเข้าถึง เทคโนโลยีการผลิตแผงหน่วยความจำจึงเริ่มขึ้น และมีให้เลือกใช้ได้มากตามเวลาที่ผ่านมา
  เริ่มจาก FPM DRAM
                FPM มาจากคำว่า Fast Page Mode เป็น DRAM ในยุคแรกของรุ่น 486 โดยเพิ่มความเร็วในลักษณะ  แบ่งหน่วยความจำ เป็นหน้าตามโครงสร้างที่แบ่งเป็นแถวและสดมภ์ โดยหากอ่านหรือเขียนหน่วย  ความจำในห้องเดียวกัน ก็ไม่จำเป็นต้องส่งค่าแอดเดรสในระดับแถวไป เพราะกำหนดไว้ก่อนแล้ว คง  ส่งเฉพาะสดมภ์เท่านั้น จึงทำให้ได้ความเร็วเพิ่มขึ้นอีก หน่วยความจำแบบ FPM ได้รับการนำมาใช้ใน  ช่วงเวลาไม่นานนัก ปัจจุบันเลิกผลิตแล้ว



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

 

EDO RAM


การซ้อนเหลี่ยมจังหวะการทำงานนี้ ทำให้ช่วงเวลาการเข้าถึงของซีพียูทำได้เร็วขึ้นกว่าเดิม และลดจังหวะการทำงานไปได้หลายจังหวะ ทั้งนี้ต้องคิดโดยรวมของประสิทธิภาพทั้งหมด

หน่วยความจำ SDRAM



           SDRAM เป็นคำย่อมาจาก Synchronous DRAM เป็นเทคโนโลยีที่พัฒนาต่อเนื่องมา ซึ่งหน่วยความจำก่อนหน้านี้ใช้ระบบอัสแบบอะซิงโครนัส นั่นหมายถึงจังหวะการทำงานของซีพียูกับหน่วยความจำใช้สัญญาณนาฬิกาคนละตัว จังหวะการทำงานที่ไม่ซิงโครไนซ์กัน จึงเป็นปัญหา เพราะเทคโนโลยีซีพียูต้องการความเร็วและมีการสร้างระบบบัสมาตรฐานขึ้นมา ที่เรียกว่า PC66 PC100 PC133 หรือ PC200 ตัวเลขหมายถึงความเร็วสัญญาณนาฬิกาในบัส ซึ่งตัวเลขเหล่านี้จะเป็นตัวกำหนดความเร็วในการรับส่งข้อมูล


มาตรฐานจังหวะการทำงานของพีซีแสดงดังตารางที่ 1


ความเร็วบัสแบบ
ความเร็วแท้จริง
จังหวะการทำงาน
PC 66
66 MHz
15 ns
PC 100
100 MHz
10 ns
PC 100
125 MHz
8 ns
PC 133
133 MHz
7.5 ns

           การออกแบบ SDRAM จึงเน้นการซิงโครไนซ์เข้ากับระบบบัสมาตรฐาน เพื่อให้จังหวะการทำงานของการเขียนหรือ อ่านหน่วยความจำเป็นจังหวะที่แน่นอน และด้วยวิธีนี้จะทำให้หน่วยความจำแบบ SDRAM มีประสิทธิภาพสูงขึ้นกว่าแบบ EDO

ปัจจุบัน (2545) SDRAM ยังมีใช้อยู่ แต่กำลังจะหมดสมัยในไม่ช้านี้

หน่วยความจำแบบ DDR-RAM



             เป็นหน่วยความจำที่กำลังอยู่ในสมัยนิยม (2545) DDR ย่อมาจากคำว่า Double Data Rate ซึ่งเป็นเทคโนโลยีที่พัฒนาต่อมาจาก SDRAM ในช่วงแรกบริษัทอินเทลไม่พัฒนาชิพเซตสนับสนุน ดังนั้นผู้ผลิตรายอื่น เช่น เอเอ็มดี และผู้ผลิตชิพเซตชั้นนำจากไต้หวันจึงรวมกัน และพัฒนาเทคโนโลยี้นี้จนได้รับความนิยมสูง บริษัทผู้ผลิตชิพเซตและสร้างเมนบอร์ดชั้นนำของโลก จากไต้หวันที่ผลิตได้แก่ VIA, SiS, ALi
DDR เป็นเทคโนโลยีที่พัฒนามาครั้งแรกเพื่อเป็นการ์ดหน่วยความจำในภาคแสดงผล และเป็นตัวเร่งการแสดงผล แต่ต่อมาเห็นว่าเทคโนโลยีนี้เหมาะที่จะนำมาใช้เป็นหน่วยความจำหลักด้วย
DDR เป็นเทคโนโลยีที่พัฒนามาครั้งแรกเพื่อเป็นการ์ดหน่วยความจำในภาคแสดงผล และเป็นตัวเร่งการแสดงผล แต่ต่อมาเห็นว่าเทคโนโลยีนี้เหมาะที่จะนำมาใช้เป็นหน่วยความจำหลักด้วยDDR เป็นเทคโนโลยีที่พัฒนามาครั้งแรกเพื่อเป็นการ์ดหน่วยความจำในภาคแสดงผล และเป็นตัวเร่งการแสดงผล แต่ต่อมาเห็นว่าเทคโนโลยีนี้เหมาะที่จะนำมาใช้เป็นหน่วยความจำหลักด้วย

ลักษณะของการเชื่อมต่อกับบัสของซีพียูยังคงใช้ระบบมาตรฐานเดิมแบบ PC 100 หรือPC 133 แต่ด้วยเทคโนโลยีที่สร้างทำให้ได้เส้นทางคู่ขนาน ความเร็วในการขนส่งข้อมูลกับหน่วยความจำจึงมีได้เป็นสองเท่าของ SDRAM เนื่องจากแนวคิดหลายอย่างนำมาจากSDRAM ทำให้หน่วยความจำนี้ราคาไม่สูงมากนัก และปัจจุบันกำลังพัฒนา DDR II ซึ่งเป็นเวอร์ชันที่สอง โดยจะเพิ่มความเร็วในการขนส่งอีกสองเท่าตัว หน่วยความจำแบบDDR มีขาทั้งหมด 184 ขา ซึ่งมากกว่า SDRAM ซึ่งมีเพียง 168 ขา ดังนั้นจึงใช้แทนกันไม่ได้

สรุปท้ายบท


         การเพิ่มหน่วยความจำเป็นวิธีการที่ง่ายที่สุดที่จะทำให้คอมพิวเตอร์ทำงานได้อย่างมีประสิทธิภาพมากขึ้น การเลือกหน่วยความจำที่จะมาใส่ในเครื่องคอมพิวเตอร์จะต้องดูที่ชนิดและความเร็วในการส่งข้อมูลบัส (Bus)  เช่น  บัส  133, บัส  333  ก็จะทำงานได้ดีกับเมนบอร์ดที่รองรับความเร็วของบัสที่เท่ากันถ้าในกรณีที่เรานำหน่วยความจำที่มีบัสสูงกว่าที่เมนบอร์ดเราจะรองรับได้  เช่น ถ้าเมนบอร์ดสามารถรองรับบัสของหน่วยความจำได้  100 MHz  แต่หน่วยความจำที่นำมาใช้มีบัส  133 MHz  ในกรณีนี้หน่วยความจำก็จะทำงานได้ที่  100 MHz ตามที่เมนบอร์ดรองรับได้เท่านั้นซึ่งทำให้ใช้งานความเร็วในการส่งข้อมูลของหน่วยความจำไม่เต็มที่