กลับไปหน้าบทความ

อ่าน 4 นาที

ขีดจำกัด RAM

หน่วยความจำเข้าถึงแบบสุ่ม (RAM) สูงสุดที่ติดตั้งในระบบคอมพิวเตอร์ใดๆ นั้นถูกจำกัดด้วยปัจจัยด้านฮาร์ดแวร์ ซอฟต์แวร์ และเศรษฐกิจ ฮาร์ดแวร์อาจมีจำนวนบิตของ บัสแอดเดรส ที่จำกัด...

ขีดจำกัด RAM

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

อาจมีข้อจำกัดทางซอฟต์แวร์เกี่ยวกับหน่วยความจำ RAM ที่ใช้งานได้จริงระบบปฏิบัติการ อาจได้รับการออกแบบให้จัดสรรหน่วยความจำได้เพียงจำนวนหนึ่ง โดยสงวนบิตที่อยู่ด้านบนไว้เพื่อระบุการกำหนดต่างๆ เช่น โหมด I/O หรือโหมดผู้ดูแลระบบ หรือข้อมูลด้านความปลอดภัยอื่นๆ หรือระบบปฏิบัติการอาจอาศัยโครงสร้างข้อมูลภายในที่มีขีดจำกัดคงที่สำหรับหน่วยความจำที่สามารถเข้าถึงได้

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

บางครั้งข้อจำกัดของ RAM สามารถแก้ไขได้โดยใช้เทคนิคพิเศษการสลับแบงค์ (Bank switching ) ช่วยให้สามารถสลับบล็อกของหน่วยความจำ RAM เข้าสู่พื้นที่แอดเดรสของโปรเซสเซอร์ได้เมื่อจำเป็น ภายใต้การควบคุมของโปรแกรม ระบบปฏิบัติการมักจัดการโปรแกรมที่กำลังทำงานโดยใช้หน่วยความจำเสมือน (virtual memory ) ซึ่งแต่ละโปรแกรมทำงานราวกับว่าสามารถเข้าถึงพื้นที่หน่วยความจำขนาดใหญ่ที่จำลองขึ้นโดยการสลับพื้นที่หน่วยความจำกับที่เก็บข้อมูลบนดิสก์

ข้อจำกัดในการกำหนดแอดเดรสของซีพียู

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

เมื่อต้นทุนของหน่วยความจำแบบวงจรรวมลดลง การออกแบบระบบที่มีพื้นที่หน่วยความจำทางกายภาพขนาดใหญ่ขึ้นเรื่อยๆ จึงเป็นไปได้

พินที่อยู่ไม่ถึง 16 พิน

อุปกรณ์ ไมโครคอนโทรลเลอร์ที่มี I/O และหน่วยความจำในตัวบางครั้งอาจไม่มี หรือมีบัสแอดเดรสขนาดเล็กสำหรับอุปกรณ์ภายนอก ตัวอย่างเช่น ตระกูลไมโครคอนโทรลเลอร์ที่มีพื้นที่แอดเดรส 2 กิโลไบต์ อาจมีรุ่นที่มีบัสแอดเดรส 11 บรรทัดสำหรับ ROM ภายนอก ซึ่งสามารถทำได้โดยการกำหนดพิน I/O ใหม่ให้เป็นพินบัสแอดเดรส โปรเซสเซอร์เอนกประสงค์บางตัวที่มี ROM ในตัวจะแบ่งพื้นที่แอดเดรส 16 บิตระหว่าง ROM ภายในและบัสหน่วยความจำภายนอก 15 บิต

ไมโครโปรเซสเซอร์บางตัวมีขาแอดเดรสไม่ถึง 16 ขา ตัวอย่างเช่นMOS Technology 6507 (รุ่นที่มีจำนวนขาน้อยกว่า 6502) ที่ใช้ในAtari 2600นั้นจำกัดอยู่ที่บัสแอดเดรส 13 บรรทัด

บิตแอดเดรส 16 บิต, พินแอดเดรส 16 พิน

ไมโครโปรเซสเซอร์อเนกประสงค์ 8 บิตส่วนใหญ่มีพื้นที่แอดเดรส 16 บิตและสร้างสายแอดเดรส 16 สาย ตัวอย่างเช่นIntel 8080 , Intel 8085 , Zilog Z80 , Motorola 6800 , Microchip PIC18และอื่นๆ อีกมากมาย โปรเซสเซอร์เหล่านี้มี CPU 8 บิตที่มีข้อมูล 8 บิตและการกำหนดแอดเดรส 16 บิต หน่วยความจำบน CPU เหล่านี้สามารถกำหนดแอดเดรสได้ในระดับไบต์ ซึ่งนำไปสู่ขีดจำกัดของหน่วยความจำที่สามารถกำหนดแอดเดรสได้คือ2¹⁶ × 1 ไบต์ = 65,536 ไบต์ หรือ 64 กิโลไบต์

16 บิตแอดเดรส, 20 พินแอดเดรส: 8086, 8088, 80186 และ 80188

โปรเซสเซอร์ Intel 8086และรุ่นที่พัฒนาต่อยอด เช่น8088 , 80186และ80188เป็นพื้นฐานของ แพลตฟอร์ม x86 ที่ได้รับความนิยม และเป็นระดับแรกของสถาปัตยกรรม IA16 โปรเซสเซอร์เหล่านี้เป็นซีพียู 16 บิตที่มีการกำหนดแอดเดรส 20 บิต หน่วยความจำในซีพียูเหล่านี้สามารถกำหนดแอดเดรสได้ในระดับไบต์ โปรเซสเซอร์เหล่านี้สามารถกำหนดแอดเดรสได้ 2²⁰ ไบต์ (1 เมกะไบต์)

80286 คือหน่วยประมวลผลที่มีแอดเดรส 16 บิต และขาแอดเดรส 24 ขา

ซีพียูIntel 80286ใช้ระบบการกำหนดแอดเดรสแบบ 24 บิต แต่ละตำแหน่งในหน่วยความจำสามารถกำหนดแอดเดรสได้ทีละไบต์ ส่งผลให้มีพื้นที่แอดเดรสทั้งหมด 2²⁴ × 1 ไบต์ = 16,777,216 ไบต์ หรือ 16 เมกะไบต์ ซีพียู 286 และรุ่นต่อมาสามารถทำงานในโหมดเรียล (real mode) ได้ ซึ่งเป็นการกำหนดข้อจำกัดด้านแอดเดรสของโปรเซสเซอร์ 8086 นอกจากนี้ ซีพียู 286 ยังรองรับหน่วยความจำเสมือน (virtual memory) ด้วย

แอดเดรส 32 บิต, พินแอดเดรส 24 พิน

Intel 80386SXเป็นรุ่นประหยัดของ 386DX มันใช้ระบบการกำหนดแอดเดรสแบบ 24 บิต ต่างจาก 32 บิตใน 386DX เช่นเดียวกับ 286 386SX สามารถเข้าถึงหน่วยความจำได้สูงสุดเพียง 16 เมกะไบต์เท่านั้น

Motorola 68000มีพื้นที่แอดเดรส 24 บิต ทำให้สามารถเข้าถึงหน่วยความจำได้สูงสุดถึง 16 เมกะไบต์

แอดเดรส 32 บิต, พินแอดเดรส 32 พิน

โปรเซสเซอร์ 386DX ใช้ระบบแอดเดรส 32 บิต ทำให้สามารถเข้าถึงหน่วยความจำได้สูงสุดถึง 4 กิกะไบต์ (4096 เมกะไบต์)

ชิป Motorola 68020ที่วางจำหน่ายในปี 1984 มีพื้นที่แอดเดรส 32 บิต ทำให้มีขีดจำกัดหน่วยความจำที่สามารถเข้าถึงได้สูงสุดที่ 4 GB ชิปรุ่นต่อๆ มาในซีรีส์ Motorola 68000 ทั้งหมด จึงสืบทอดข้อจำกัดนี้มาด้วย

แอดเดรส 32 บิต, พินแอดเดรส 36 พิน: เพนเทียม โปร (หรือที่รู้จักกันในชื่อ P6)

โปรเซสเซอร์ Pentium ProและPentium 4 ทุกรุ่น ใช้การกำหนดแอดเดรสแบบ 36 บิต ซึ่งส่งผลให้มีพื้นที่แอดเดรสรวม 64 กิกะไบต์ แต่จำเป็นต้องให้ระบบปฏิบัติการรองรับการขยายแอดเดรสทางกายภาพ (Physical Address Extension )

การประมวลผล 64 บิต

โปรเซสเซอร์ 64 บิตสมัยใหม่ เช่น ดีไซน์จาก ARM, Intel หรือ AMD มักถูกจำกัดให้รองรับแอดเดรส RAM ได้น้อยกว่า 64 บิต โดยทั่วไปจะใช้บิตแอดเดรสทางกายภาพตั้งแต่ 40 ถึง 52 บิต[ 1 ] [ 2 ] [ 3 ] [ 4 ] (รองรับ RAM ตั้งแต่ 1 TB ถึง 4 PB) เช่นเดียวกับสถาปัตยกรรมก่อนหน้านี้ที่กล่าวถึงในที่นี้ บางส่วนได้รับการออกแบบมาเพื่อรองรับขีดจำกัด แอดเดรส RAM ที่สูงขึ้น เมื่อเทคโนโลยีพัฒนาขึ้น ในทั้ง Intel64 และ AMD64 ขีดจำกัดแอดเดรสทางกายภาพ 52 บิตถูกกำหนดไว้ในข้อกำหนดของสถาปัตยกรรม (4 PB)

ข้อจำกัดของหน่วยความจำ RAM ในระบบปฏิบัติการ

ข้อจำกัดการกำหนดแอดเดรสของ CP/M และ 8080

ระบบปฏิบัติการหลักระบบแรกสำหรับไมโครคอมพิวเตอร์คือCP/Mระบบปฏิบัติการนี้ใช้งานได้กับไมโครคอมพิวเตอร์ประเภทAltair 8800ซึ่งพัฒนาโดยGary Kildallร่วมกับภาษาโปรแกรมPL/Mและได้รับอนุญาตให้ผู้ผลิตคอมพิวเตอร์ใช้งานโดยบริษัทDigital Research ของ Kildall หลังจากที่ Intelปฏิเสธโปรเซสเซอร์Intel 8080ที่ใช้ในคอมพิวเตอร์เหล่านี้เป็น โปรเซสเซอร์ 8 บิตมี พื้นที่แอดเดรส 16 บิตซึ่งทำให้สามารถเข้าถึงหน่วยความจำได้สูงสุด 64 KB ไฟล์ปฏิบัติการ .COM ที่ใช้กับ CP/M จึงมีขนาดสูงสุด 64 KB เช่นเดียวกับไฟล์ที่ใช้โดยระบบปฏิบัติการ DOS สำหรับไมโครโปรเซสเซอร์ 16 บิต

ข้อจำกัดการกำหนดแอดเดรสของ IBM PC และ 8088

ในคอมพิวเตอร์ IBM PC รุ่นแรก ขีดจำกัดพื้นฐานของ RAM คือ 640 KB เพื่อให้มีพื้นที่สำหรับการกำหนดแอดเดรสด้วยฮาร์ดแวร์ในส่วนบน 384 KB ( พื้นที่หน่วยความจำส่วนบน (UMA)) จากพื้นที่หน่วยความจำที่สามารถกำหนดแอดเดรสได้ทั้งหมด 1024 KB (1 MB) วิธีการที่จะเอาชนะข้อจำกัด 640k นี้คือการใช้โหมดการกำหนดแอดเดรสพิเศษที่มีอยู่ในโปรเซสเซอร์ 286 และ x86 รุ่นต่อมา พื้นที่แอดเดรสทั้งหมด 1 MB เป็นผลมาจากข้อจำกัดของพื้นที่แอดเดรส 20 บิตที่กำหนดไว้ใน CPU 8088

โดยใช้พื้นที่บัฟเฟอร์วิดีโอสี โปรแกรมยูทิลิตี้จากผู้พัฒนาภายนอกบางตัวสามารถเพิ่มหน่วยความจำที่ส่วนบนสุดของ พื้นที่ หน่วยความจำแบบเดิมขนาด 640k เพื่อขยายหน่วยความจำไปจนถึงที่อยู่ฐานที่ใช้โดยอะแดปเตอร์ฮาร์ดแวร์ ซึ่งในที่สุดแล้วจะสามารถเติม RAM จนถึงที่อยู่ฐานของ MDA ได้

ส่วนขยายฮาร์ดแวร์ช่วยให้เข้าถึงหน่วยความจำได้มากกว่าที่ซีพียู 8086 สามารถเข้าถึงได้ผ่านหน่วยความจำเพจจิ้ง หน่วยความจำนี้เรียกว่าหน่วยความจำขยาย (Expanded Memory) มาตรฐาน ที่เป็นที่ยอมรับในอุตสาหกรรมได้รับการพัฒนาโดยกลุ่ม LIM ซึ่งประกอบด้วย Lotus, Intel และ Microsoft มาตรฐานนี้คือExpanded Memory Specification (EMS) เพจของหน่วยความจำจากฮาร์ดแวร์หน่วยความจำขยายสามารถเข้าถึงได้ผ่านหน้าต่างแอดเดรสที่วางไว้ในพื้นที่ว่างในพื้นที่ UMA และโดยการแลกเปลี่ยนกับเพจอื่นเมื่อจำเป็นต้องเข้าถึงหน่วยความจำอื่น EMS รองรับพื้นที่ 16 MB

ด้วยการใช้คุณสมบัติเฉพาะในสถาปัตยกรรม CPU 286 ทำให้สามารถเข้าถึง พื้นที่หน่วยความจำสูง (HMA) ได้ โดยเป็นหน่วยความจำ 64 KB แรกที่อยู่เหนือขีดจำกัด 1 MB ของการกำหนดแอดเดรสแบบ 20 บิตในสถาปัตยกรรม x86

ด้วยความสามารถในการกำหนดแอดเดรสหน่วยความจำ 24 บิตของสถาปัตยกรรมซีพียู 286 ทำให้สามารถเข้าถึงพื้นที่แอดเดรสทั้งหมดได้ 16 เมกะไบต์ หน่วยความจำที่อยู่เหนือขีดจำกัด 1 เมกะไบต์ เรียกว่าหน่วยความจำขยาย (Extended Memory ) อย่างไรก็ตาม พื้นที่ระหว่าง 640 กิโลไบต์ ถึง 1 เมกะไบต์ ถูกสงวนไว้สำหรับการกำหนดแอดเดรสด้วยฮาร์ดแวร์ในเครื่องคอมพิวเตอร์ที่เข้ากันได้กับ IBM PC โปรแกรม DOS และโปรแกรมโหมดจริงอื่นๆ ซึ่งจำกัดอยู่ที่แอดเดรส 20 บิต สามารถเข้าถึงพื้นที่นี้ได้ผ่านการจำลอง EMS บนหน่วยความจำขยาย หรืออนาล็อก EMS สำหรับหน่วยความจำขยายเท่านั้น Microsoft ได้พัฒนามาตรฐานที่เรียกว่าExtended Memory Specification (XMS) การเข้าถึงหน่วยความจำที่อยู่เหนือ HMA จำเป็นต้องใช้โหมดป้องกัน (Protected Mode ) ของซีพียู 286

ด้วยการพัฒนาสถาปัตยกรรม CPU i386 พื้นที่แอดเดรสจึงถูกเปลี่ยนไปใช้การกำหนดแอดเดรสแบบ 32 บิต และมีขีดจำกัดที่ 4 GB CPU นี้ทำให้โปรแกรม DOS ที่ใช้DOS extenderเช่น DOS/4GW, MiniGW/16, MiniGW และอื่นๆ สามารถเข้าถึงพื้นที่หน่วยความจำขนาด 16 MB ได้ ในตอนแรก มีการพัฒนามาตรฐานหน่วยความจำ ที่เป็นที่ยอมรับในอุตสาหกรรมสำหรับการทำงานร่วมกัน ซึ่งเรียกว่าVCPIต่อมามาตรฐานของ Microsoft ที่รู้จักกันในชื่อDPMI ได้เข้ามาแทนที่ มาตรฐานเหล่านี้อนุญาตให้เข้าถึงพื้นที่ 16 MB ได้โดยตรง แทนที่จะใช้ระบบเพจจิ้งแบบที่ใช้โดย EMS และ XMS

ระบบปฏิบัติการ 16 บิต/ข้อจำกัด RAM 2

ระบบปฏิบัติการ OS/2 แบบ 16 บิต มีข้อจำกัดเรื่องหน่วยความจำอยู่ที่ 15 MB เนื่องจากพื้นที่สำรองที่ออกแบบไว้ในระบบปฏิบัติการ โดยสงวนพื้นที่ 1 MB ส่วนบนสุดของพื้นที่แอดเดรส 24 บิต ขนาด 16 MB ไว้สำหรับส่วนที่ไม่ใช่หน่วยความจำ (ตั้งแต่ 16 MB ถึง 15 MB)

ข้อจำกัดของ RAM 32 บิต x86

ในโหมดที่ไม่ใช้ PAE ของโปรเซสเซอร์x86 32 บิต หน่วยความจำ RAM ที่ใช้งานได้ อาจถูกจำกัดไว้ที่น้อยกว่า 4 GB ข้อจำกัดเกี่ยวกับหน่วยความจำและพื้นที่แอดเดรสจะแตกต่างกันไปตามแพลตฟอร์มและระบบปฏิบัติการ ข้อจำกัดเกี่ยวกับหน่วยความจำทางกายภาพสำหรับแพลตฟอร์ม 32 บิตยังขึ้นอยู่กับการมีอยู่และการใช้งานPhysical Address Extension (PAE) ซึ่งช่วยให้ระบบ 32 บิตสามารถใช้หน่วยความจำทางกายภาพได้มากกว่า 4 GB

ระบบ PAE และระบบ 64 บิต อาจสามารถเข้าถึงพื้นที่แอดเดรสได้เต็มจำนวนของโปรเซสเซอร์ x86

ดูเพิ่มเติม

  • บทความจาก MSDN: ข้อจำกัดด้านหน่วยความจำสำหรับ Windows เวอร์ชันต่างๆ
  • หน่วยความจำระบบที่แสดงในกล่องโต้ตอบข้อมูลระบบใน Windows Vista นั้นน้อยกว่าที่คุณคาดหวัง หากติดตั้ง RAM ขนาด 4 GB  – นี่คือสาเหตุของปัญหา
  • Windows Vista SP1 มีฟังก์ชันรายงานหน่วยความจำระบบที่ติดตั้ง (RAM)  – รายละเอียดเกี่ยวกับขีดจำกัดของ RAM
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=RAM_limit&oldid=1355782734 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ขีดจำกัด RAM

หน่วยความจำเข้าถึงแบบสุ่ม (RAM) สูงสุดที่ติดตั้งในระบบคอมพิวเตอร์ใดๆ นั้นถูกจำกัดด้วยปัจจัยด้านฮาร์ดแวร์ ซอฟต์แวร์ และเศรษฐกิจ ฮาร์ดแวร์อาจมีจำนวนบิตของ บัสแอดเดรส ที่จำกัด...

ข้อจำกัดในการกำหนดแอดเดรสของซีพียู

แพ็คเกจวงจรรวมอาจมีข้อจำกัดเกี่ยวกับจำนวนขาที่ใช้สำหรับ บัสหน่วยความจำ สามารถออกแบบสถาปัตยกรรม CPU เวอร์ชันต่างๆ ในแพ็คเกจ IC ขนาดต่างๆ ได้ โดยแลกเปลี่ยนขนาดแพ็คเกจที่ลดลงกับจำนวนขาและพื้นที่แอดเดรสที่ลดลง อาจมีการแลกเปลี่ยนระหว่างขาแอดเดรสกับฟังก์ชันอื่นๆ...

พินที่อยู่ไม่ถึง 16 พิน

อุปกรณ์ ไมโครคอนโทรลเลอร์ ที่มี I/O และหน่วยความจำในตัวบางครั้งอาจไม่มี หรือมีบัสแอดเดรสขนาดเล็กสำหรับอุปกรณ์ภายนอก ตัวอย่างเช่น ตระกูลไมโครคอนโทรลเลอร์ที่มีพื้นที่แอดเดรส 2 กิโลไบต์ อาจมีรุ่นที่มีบัสแอดเดรส 11 บรรทัดสำหรับ ROM ภายนอก...

บิตแอดเดรส 16 บิต, พินแอดเดรส 16 พิน

ไมโครโปรเซสเซอร์อเนกประสงค์ 8 บิตส่วนใหญ่มีพื้นที่แอดเดรส 16 บิตและสร้างสายแอดเดรส 16 สาย ตัวอย่างเช่น Intel 8080 , Intel 8085 , Zilog Z80 , Motorola 6800 , Microchip PIC18 และอื่นๆ อีกมากมาย โปรเซสเซอร์เหล่านี้มี CPU 8 บิตที่มีข้อมูล 8 บิตและการกำหนดแอดเดรส...