ผู้บรรยาย: ในบทนี้
เราจะพูดถึงหน่วยความจำเข้าถึงโดยสุ่ม เรียกง่ายๆ
ว่าหน่วยความจำภายในระบบของคุณ และวิธีที่เราจัดการกับหน่วยความจำนั้น
ขั้นแรก ก่อนที่เราจะพูดถึงวิธีจัดการกับหน่วยความจำ เราต้องเข้าใจให้ดียิ่งขึ้นว่าหน่วยความจำคืออะไร
และมีประโยชน์อย่างไรภายในระบบคอมพิวเตอร์ของเรา
ก่อนหน้านี้ เมื่อเราพูดถึงโปรเซสเซอร์
เราได้พูดถึงข้อเท็จจริงที่ว่าโปรเซสเซอร์ทำการคำนวณทั้งหมด
แต่ต้องมีที่สำหรับเก็บข้อมูลและคำสั่งก่อนที่จะทำการคำนวณเหล่านั้น
ภายในตัวโปรเซสเซอร์มีหน่วยความจำความเร็วสูงที่เรียกว่าแคช
แคชนี้มีพื้นที่น้อยมาก
แต่เร็วมาก
ตอนนี้ เมื่อคุณใช้พื้นที่แคชหมดแล้ว หน่วยความจำชนิดต่อไปที่คุณมีในระบบของคุณคือสิ่งที่เราเรียกว่าหน่วยความจำเข้าถึงโดยสุ่ม
หรือหน่วยความจำระบบ
ตอนนี้หน่วยความจำนี้ยังคงเร็ว
แต่ไม่เร็วเท่ากับหน่วยความจำแคชนั้น
ตอนนี้ สิ่งที่เกิดขึ้นคือโปรเซสเซอร์จะใช้หน่วยความจำแคชก่อน
และในขณะที่ใช้ข้อมูลจากหน่วยความจำเงินสดนั้น ข้อมูลใหม่จะย้ายจากหน่วยความจำระบบไปยังแคช
และมันยังคงย้ายสิ่งนี้เป็นกระบวนการไปป์ไลน์
จากหน่วยความจำระบบไปยังแคช จากนั้นจึงถูกประมวลผลและดำเนินการโดยใช้
CPU
ตอนนี้ นอกจากหน่วยความจำระบบนี้แล้ว เรายังมีสิ่งที่เรียกว่าที่เก็บข้อมูลอีกด้วย
และพื้นที่เก็บข้อมูลก็เช่น ฮาร์ดไดรฟ์
ไดรฟ์ USB ซีดีรอม และดีวีดี และอื่น
ๆ เช่นนั้น
อุปกรณ์เก็บข้อมูลขนาดใหญ่เหล่านี้จะสามารถเก็บข้อมูลได้มากกว่าหน่วยความจำ
แต่จะช้ากว่ามาก
ดังนั้น ถ้าฉันต้องการโหลด PowerPoint ใหม่ในระบบของฉัน โดยปกติแล้ว
ไฟล์นั้นจะถูกจัดเก็บไว้ในฮาร์ดดิสก์ซึ่งเป็นอุปกรณ์เก็บข้อมูลขนาดใหญ่
เมื่อฉันบอกคอมพิวเตอร์ว่าฉันต้องการอ่านข้อมูลนั้น
โปรเซสเซอร์จะส่งสัญญาณไปยังฮาร์ดไดรฟ์และพูดว่า ข้อมูลนั้นอยู่ที่ไหน
ข้อมูลนั้นจะย้ายจากฮาร์ดไดรฟ์ไปยังหน่วยความจำระบบ
และจากหน่วยความจำระบบ
ชิ้นส่วนเล็กๆ นั้นสามารถนำเข้าไปในแคชและประมวลผลโดยโปรเซสเซอร์
นี่คือวิธีการทำงานร่วมกันภายในระบบของคุณ
ดังนั้น ผมอยากให้คุณนึกถึงสิ่งนี้เมื่อคุณคิดถึงตำแหน่งต่างๆ
ที่เก็บข้อมูลไว้ในระบบ
เรามีอุปกรณ์เก็บข้อมูลจำนวนมาก
ซึ่งเป็นพื้นที่จัดเก็บถาวรมากกว่า
เมื่อคุณปิดเครื่องคอมพิวเตอร์
ข้อมูลในอุปกรณ์เก็บข้อมูลขนาดใหญ่เหล่านั้นจะยังคงอยู่
แต่เรายังมีพื้นที่เก็บข้อมูลชั่วคราวนี้ที่เรียกว่า
RAM หรือหน่วยความจำระบบ และนี่คือพื้นที่ที่ถือว่าไม่ถาวร เพราะเมื่อคุณปิดคอมพิวเตอร์ ทุกอย่างใน
RAM จะสูญหายไป
ดังนั้น ในขณะที่เรากำลังทำงานกับไฟล์ต่างๆ เราจะใส่ไฟล์เหล่านั้นลงใน
RAM เป็นการชั่วคราว ด้วยวิธีนี้ เราจะสามารถทำงานกับไฟล์เหล่านั้นในลักษณะที่เร็วขึ้นมาก
และเมื่อเราดำเนินการกับไฟล์เหล่านี้เสร็จแล้ว พวกเขาจะได้รับ บันทึกกลับไปยังฮาร์ดไดรฟ์ซึ่งเป็นอุปกรณ์เก็บข้อมูลถาวรนั้น
ดังนั้น เมื่อคุณนึกถึงหน่วยความจำระบบหรือหน่วยความจำเข้าถึงโดยสุ่ม
หรือที่เรียกว่า RAM
นี่เป็นพื้นที่แบบไดนามิกและเปลี่ยนแปลงตลอดเวลา
และทำงานเร็วมากเมื่อเทียบกับอุปกรณ์เก็บข้อมูลขนาดใหญ่ของเรา เช่น
ฮาร์ดไดรฟ์และซีดีรอม
เพื่อให้คุณเปรียบเทียบได้ว่าสิ่งนี้มีลักษณะอย่างไรในโลกทางกายภาพ
ลองนึกถึงสำนักงานของคุณ
ในสำนักงานของคุณ คุณมีโต๊ะทำงาน และในโต๊ะทำงานของคุณ
คุณมีพื้นที่เหลือเฟือ แต่เมื่อสิ่งของต่างๆ อยู่บนโต๊ะของคุณ
คุณสามารถไปหามันได้อย่างรวดเร็ว เพราะพวกมันวางอยู่ข้างนอกแล้ว และคุณ สามารถเอื้อมมือไปสัมผัสได้
ตอนนี้ นอกจากไฟล์สามหรือสี่ไฟล์ที่คุณเปิดไว้บนโต๊ะแล้ว
คุณยังมีไฟล์อีกหลายร้อยไฟล์ในตู้เก็บเอกสาร
ตอนนี้ ตู้เก็บเอกสารนั้นเป็นเหมือนฮาร์ดไดรฟ์ของคุณ
เป็นอุปกรณ์เก็บข้อมูลขนาดใหญ่ของคุณ
ในขณะที่เดสก์ท็อปของคุณเป็นเหมือน RAM
ของคุณมากกว่า
ดังนั้น เมื่อสิ่งต่างๆ อยู่ใน RAM
ก็จะเข้าถึงได้ง่ายกว่า เข้าถึงได้เร็วกว่า
และคุณสามารถทำงานกับสิ่งเหล่านั้นได้ในเวลาที่กำหนด
แต่เมื่อคุณใช้งานเสร็จแล้ว
คุณควรพับแฟ้มนั้นขึ้น เก็บมันไว้ในตู้เก็บเอกสาร
เพื่อให้มันอยู่ที่นั่นเมื่อคุณต้องการในหนึ่งสัปดาห์
หรือสองสัปดาห์ หรือหนึ่งปีนับจากนี้ และนั่นทำให้อิสระ เพิ่มพื้นที่บนเดสก์ท็อปของคุณเพื่อให้คุณดึงไฟล์อื่น ๆ ออกมาและทำงานกับไฟล์เหล่านั้น
นั่นคือสิ่งที่ RAM ใช้สำหรับ มันคือพื้นที่ชั่วคราวที่มีการเปลี่ยนแปลงและพัฒนาอย่างต่อเนื่อง
ดังนั้น เนื่องจากอุปกรณ์เก็บข้อมูลขนาดใหญ่ของเราทำงานช้ามาก
เราจึงมักต้องการเพิ่มสิ่งต่างๆ ลงใน RAM แต่
RAM นั้นมีจำกัด
หากเราดูที่ฮาร์ดดิสก์ของคุณ
คุณอาจมีอุปกรณ์จัดเก็บข้อมูลขนาด
500 กิกะไบต์ หรือ 1 เทราไบต์ หรือแม้แต่ 4 เทราไบต์ แต่เมื่อคุณดูที่หน่วยความจำของคุณ คุณอาจมี 8 กิกะไบต์ หรือ 16
กิกะไบต์ หรือ หากคุณโชคดี อาจมีพื้นที่ว่างถึง
32 กิกะไบต์
ซึ่งหมายความว่าคุณมี
RAM น้อยกว่าที่คุณมีในฮาร์ดดิสก์มาก
ดังนั้น สิ่งที่หน่วยความจำทำคือทำหน้าที่เป็นดิสก์แคช
ด้วยวิธีนี้ เราสามารถดึงไฟล์จากแผ่นดิสก์ไปยังหน่วยความจำ
ทำงานกับไฟล์เหล่านั้น แล้วเปลี่ยนกลับเข้าไปในอุปกรณ์เก็บข้อมูลขนาดใหญ่เมื่อเราทำเสร็จแล้ว
สิ่งนี้ทำให้ RAM ทำหน้าที่เป็นพื้นที่จัดเก็บข้อมูลชั่วคราวได้เร็วขึ้นสำหรับข้อมูลที่เพิ่งใช้และใช้บ่อยจากฮาร์ดดิสก์นั้น
เพื่อให้เราดำเนินการได้รวดเร็วยิ่งขึ้น
นี่เป็นเพราะ RAM จะสามารถค้นหาข้อมูลได้อย่างรวดเร็วจริงๆ
ในขณะที่ฮาร์ดดิสก์แบบดั้งเดิมต้องหมุนแผ่นดิสก์จนกว่าจะพบส่วนที่ถูกต้อง
แล้วจึงดึงข้อมูลออกมา ซึ่งทำได้ช้ากว่ามาก
.
เราเรียกสิ่งนี้ว่าระบบเชิงกล ในขณะที่เราใช้
RAM เรากำลังใช้ระบบอิเล็กทรอนิกส์ที่สามารถเข้าถึงชิ้นส่วนใดๆ
ของ RAM นั้นด้วยความเร็วที่แทบจะในทันที
นี่เป็นเพราะ RAM เป็นสิ่งที่ถือว่าเป็นอุปกรณ์โซลิดสเตต
และไม่มีเวลาในการโหลดมากเกินไป เช่นเดียวกับที่คุณมีกับอุปกรณ์เชิงกล
เช่น ฮาร์ดไดรฟ์
ดีวีดี ซีดี หรือแม้แต่ดิสก์บลูเรย์
ซึ่งหมายความว่าเราสามารถทำงานได้เร็วมากในแง่ของนาโนวินาที
ซึ่งก็คือพันล้านวินาที ในขณะที่ฮาร์ดดิสก์และสื่อแม่เหล็กอื่นๆ
ของคุณจะถือว่าช้ามาก และทำงานเป็นพันวินาทีหรือที่เรียกว่ามิลลิวินาที
คุณจะเห็นว่าความเร็วแตกต่างกันมากที่นี่ ซึ่งเป็นเหตุผลว่าทำไมเราต้องการใส่ไฟล์ของเราลงใน
RAM ในขณะที่เรากำลังดำเนินการอยู่
ดังนั้น สิ่งที่คุณจะพบในฐานะช่างเทคนิค
ก็คือหนึ่งในสิ่งที่พบบ่อยที่สุดในการอัปเกรดระบบ
คือการอัปเกรด RAM และเพิ่มจากสี่กิกะไบต์เป็นแปดกิกะไบต์ หรือ 8 กิกะไบต์ถึง
16 กิกะไบต์ หรือ 16 กิกะไบต์ถึง 32
กิกะไบต์
ด้วยการเพิ่มจำนวน RAM คุณสามารถเร่งความเร็วระบบของคุณได้อย่างจริงจัง
เพราะคุณกำลังขจัดอุปสรรคในการอ่านและเขียนข้อมูลจำนวนมากจากฮาร์ดไดรฟ์ โดยสามารถเปิดไฟล์ได้มากขึ้น และสามารถทำได้
ทำงานมากขึ้นในเวลาใดก็ตาม
เอาล่ะ ตอนนี้เราได้กล่าวถึงพื้นฐานของ
RAM และเหตุใดเราจึงต้องใช้หน่วยความจำระบบนี้ แทนที่จะพึ่งพาฮาร์ดไดรฟ์ของเราสำหรับทุกสิ่ง สิ่งสำคัญคือต้องพูดคุยเกี่ยวกับข้อจำกัดของ RAM ตามที่อยู่ของมัน
ตอนนี้ เมื่อโปรเซสเซอร์ต้องเข้าถึง
RAM และรับบางสิ่ง สิ่งนี้เรียกว่าการระบุตำแหน่งหน่วยความจำ
นี่เป็นเพราะภายใน RAM นั้น และพื้นที่เก็บข้อมูลที่มีอยู่
แต่ละแห่งมีที่อยู่เฉพาะที่แตกต่างกัน
และนั่นคือวิธีที่เราอ้างอิงชิ้นส่วนของข้อมูลที่ถูกจัดเก็บไว้ใน RAM ชิ้นนั้นๆ
ตอนนี้ ระหว่างโปรเซสเซอร์หรือ
CPU และหน่วยความจำ เรามีสิ่งที่เรียกว่าตัวควบคุมหน่วยความจำ และระหว่างตัวควบคุมหน่วยความจำกับโปรเซสเซอร์
เรามีบัส
ตอนนี้ รถเมล์เป็นเพียงเส้นทางให้เราถ่ายโอนข้อมูล
และตัวควบคุมหน่วยความจำนั้นเกือบจะเหมือนกับตำรวจจราจร
คอยควบคุมการจราจรและบอก CPU และโปรเซสเซอร์ถึงวิธีการเข้าถึงส่วนต่าง
ๆ ของหน่วยความจำ
ทีนี้ เมื่อคุณดูที่รถบัส
จริงๆ แล้วมีสองส่วนของรถบัส
มีเส้นทางที่ใช้สำหรับข้อมูลและสามารถส่งและรับข้อมูลได้
และยังมีเส้นทางที่อยู่ซึ่งช่วยให้เราระบุตำแหน่งในหน่วยความจำที่มีข้อมูลอยู่
ดังนั้น เมื่อคุณดูที่ความกว้างของเส้นทางข้อมูล
หรือบัสข้อมูล สิ่งนี้จะเป็นตัวกำหนดว่าข้อมูลแต่ละรอบสามารถถ่ายโอนได้มากน้อยเพียงใด
ตอนนี้ หากคุณใช้ตัวควบคุมหน่วยความจำแบบช่องสัญญาณเดียว
บัสข้อมูลของคุณมักจะกว้าง 64 บิต ซึ่งสิ่งนี้จะเกิดขึ้นกับคอมพิวเตอร์สมัยใหม่ส่วนใหญ่
นอกจากนี้ เมื่อเราดูที่แอดเดรสบัส
จะมีความกว้างที่เกี่ยวข้องกับสิ่งนั้นเช่นกัน และอาจเป็น
32 บิตหรือ 64 บิตก็ได้
ซึ่งจะพิจารณาจากจำนวนตำแหน่งที่ CPU สามารถติดตามได้
และสามารถเข้าถึงข้อมูลได้โดยระบุที่อยู่อย่างถูกต้อง
ตอนนี้ หากคุณใช้ CPU แบบ 32 บิต หรือ
CPU แบบ x86 คุณจะสามารถใช้แอดเดรสแบบ
32 บิตเพื่อเข้าถึงข้อมูลผ่านบัสหน่วยความจำนั้นได้เท่านั้น
ด้วยเหตุนี้
คุณมีประมาณ 4 พันล้านรายการที่สามารถระบุข้อมูลได้
ซึ่งเรียกว่าข้อมูล 4 กิกะไบต์ นี่เป็นเพราะคุณมี
2 บิตถึง 32 บิตที่สามารถระบุข้อมูลนั้นได้
ในทางกลับกัน หากคุณใช้ CPU 64
บิต คุณจะมีตำแหน่งที่อยู่ที่เป็นไปได้สองถึง
64 ตำแหน่ง ซึ่งคำนวณออกมาแล้วมีตัวเลือกที่เป็นไปได้ประมาณ
184 quintillion
ในแง่ของหน่วยความจำ
เราเรียกสิ่งนี้ว่า 16 exabytes ของข้อมูล และนั่นหมายความว่า
เราสามารถจัดการกับข้อมูลจำนวนมากได้
ถ้าเราใช้โปรเซสเซอร์ 64 บิต
ระบบส่วนใหญ่ของเราในปัจจุบันจะไม่ใช้
RAM ขนาด 16 exabytes เนื่องจากจะมีราคาสูงเกินห้ามใจ
และเมนบอร์ดส่วนใหญ่จะมีพื้นที่ไม่เพียงพอที่จะเสียบหน่วยความจำจำนวนมากขนาดนั้น แต่นี่คือขีดจำกัดสูงสุดของเรา
สิ่งสำคัญจริงๆ คือ หากคุณใช้โปรเซสเซอร์
x86 หรือ 32 บิต คุณจะระบุหน่วยความจำได้สูงสุดเพียง 4 กิกะไบต์เท่านั้น
และนี่เป็นข้อจำกัดอย่างมากสำหรับคอมพิวเตอร์สมัยใหม่ เนื่องจากระบบปฏิบัติการสมัยใหม่ส่วนใหญ่จำเป็นต้องใช้ RAM อย่างน้อยสี่กิกะไบต์เป็นอย่างน้อยเพื่อให้สามารถทำงานได้อย่างเพียงพอ
ในทางกลับกัน
หากคุณใช้โปรเซสเซอร์ 64 บิตหรือสถาปัตยกรรม
x64 หมายความว่าคุณสามารถเข้าถึง RAM
ได้มากกว่า 4 กิกะไบต์ในคราวเดียว และนั่นคือเหตุผลที่คุณจะเห็นสิ่งนี้ใช้ในระบบที่มี 8 16,
32 หรือ 64 กิกะไบต์ของ RAM เนื่องจากพวกเขาสามารถเข้าถึง RAM ทั้งหมดได้
ซึ่งให้ประสิทธิภาพที่ดีกว่ามาก
นี่เป็นอีกเหตุผลหนึ่งที่คุณต้องการเลือกโปรเซสเซอร์
64 บิตแทนโปรเซสเซอร์ 32 บิตสำหรับคอมพิวเตอร์และแอพพลิเคชั่นสมัยใหม่ส่วนใหญ่