การแม็พแอดเดรสหน่วยความจำกับฟิสิคัลโมดูลใน Windows XP


5

ฉันวางแผนที่จะเรียกใช้ Windows XP แบบ 32 บิตบนเวิร์กสเตชันที่ใช้โปรเซสเซอร์คู่โดยอ้างอิงจาก Nehalem microarchitecture ของ Intel และ RAM channel สามเท่า แม้ว่า XP จะถูก จำกัด ไว้ที่ RAM 4 GB แต่ความเข้าใจของฉันคือมันจะทำงานได้มากกว่า 4 GB ที่ติดตั้ง แต่จะแสดงเพียง 4 GB (หรือน้อยกว่าเล็กน้อย)

คำถามของฉันคือสมมติว่าติดตั้ง RAM 6 GB ในโมดูล 1 GB หกตัวซึ่ง Windows 4 แมปจริงจะทำการแมปลงในพื้นที่ที่อยู่จริงหรือไม่

โดยเฉพาะอย่างยิ่ง:

  • มันจะใช้ทั้งหกโมดูล 1 GB ใช้ประโยชน์จากช่องหน่วยความจำทั้งหมดหรือไม่ (ฉันเดาว่าใช่และการแมปไปยังแต่ละโมดูลภายในกลุ่มเกิดขึ้นในฮาร์ดแวร์)

  • มันจะจับคู่พื้นที่ที่อยู่ 2 GB กับแต่ละ NUMA สองโหนด (เนื่องจากโปรเซสเซอร์แต่ละตัวมีอินเตอร์เฟสหน่วยความจำของตัวเอง) หรือจะมีโปรเซสเซอร์หนึ่งเข้าถึง RAM 3 GB ได้อย่างรวดเร็วในขณะที่อีกอันมีเพียง 1 GB เท่านั้น

ขอบคุณ!


ฉันรู้ว่าคุณใส่ windows-xp ไว้ในแท็ก แต่จะใช้ Windows 2003 Server ในโหมด "เวิร์กสเตชัน" เพื่อให้คุณเข้าถึงหน่วยความจำได้ดีขึ้น ใบอนุญาตราคาแพงกว่าซึ่งอาจเป็นฆาตกร
IrqJD

น่าเสียดายที่ฉันมีฮาร์ดแวร์ที่ไม่มีไดรเวอร์สำหรับสิ่งอื่นนอกเหนือจาก XP 32 บิตและจะไม่ทำงานบนเซิร์ฟเวอร์ 2003 (ตามผู้ผลิตฉันไม่ได้ตรวจสอบตัวเองจริง ๆ ) ค่าใบอนุญาตพิเศษนั้นจะสร้างความรำคาญ แต่ไม่ใช่นักฆ่าในกรณีของฉัน
Josef Grahn

คำตอบ:


2

ฉันเข้าใจว่าตัวควบคุมเมนบอร์ดจะจัดการการแมปตำแหน่งหน่วยความจำเสมือนกับที่อยู่ทางกายภาพของ RAM ในขณะที่หน่วยความจำสามช่องทำงานได้และตัวควบคุมเมนบอร์ดส่วนใหญ่ทำงานทั้ง CPU จะทำงานร่วมกันเพื่อแมป RAM ขนาด 4gb ที่ลดลงเว้นระยะเท่า ๆ กันตามโมดูล RAM สามตัวแรก กิกะไบต์สุดท้ายที่เว้นระยะระหว่างสามโมดูลล่าสุด

หากไม่มีการใช้งานนี้จะไม่มีการเข้าถึงหน่วยความจำ "สามช่องทาง" ดังนั้นประสิทธิภาพที่ลดลงอย่างมาก นอกจากนี้นี่คือสาเหตุที่การใช้งานหน่วยความจำเป็นแบบฮาร์ดแวร์แทนที่จะเป็นซอฟต์แวร์ดังนั้นจึงไม่มีปัญหาในตอนท้ายของคุณ

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

มีซอฟต์แวร์เพื่อให้คุณสร้าง RAMdisk จาก RAM ซึ่งไม่สามารถเข้าถึงระบบปฏิบัติการในสภาพแวดล้อมแบบ 32 บิต SuperSpeed มีโปรแกรมที่ชื่อว่า RamDisk ซึ่งจะช่วยให้คุณทำสิ่งนี้ได้ อีกทางเลือกหนึ่งคือ Vsuite Ramdisk ซอฟต์แวร์ (ทั้งคู่ต่างกันเล็กน้อย - ดูรายการคุณสมบัติเพื่อดูว่ารายการใดตรงกับความต้องการของคุณ)

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


1
ขอบคุณสำหรับการตอบสนองอย่างละเอียด ด้วยการแมปที่โปร่งใสอย่างสมบูรณ์จากพื้นที่ที่อยู่จริงไปยังโมดูลหน่วยความจำฉันคาดว่าเคอร์เนลจะใช้ 4 GB ที่ต่ำกว่าและอย่างที่คุณบอกว่าใช้ 3 GB จากโมดูลแรก triplet แรกและ 1 GB จากที่อื่น อย่างไรก็ตามเมื่อเคอร์เนลรู้ NUMA การแมปนี้จะไม่โปร่งใสอย่างสมบูรณ์ ส่วนหนึ่งของคำถามของฉันยังคงอยู่: เคอร์เนล XP จะแม้จะ "รู้" ว่าพื้นที่ที่อยู่ทางกายภาพนั้นถูกแบ่งออกเป็นสองส่วนเท่า ๆ กัน NUMA สองโหนดเพียงใช้ทางกายภาพที่ต่ำที่สุด 4 GB หรือเป็นวิธีที่ฉลาดกว่านี้
Josef Grahn

ในขณะที่เคอร์เนลรับผิดชอบส่วนซอฟต์แวร์ NUMA แต่ไม่ใช่สำหรับฮาร์ดแวร์ เนื่องจากเคอร์เนล XP จะ "ดู" RAM ขนาด 4gb ที่ต่ำลงเท่านั้นนี่คือพื้นที่ที่จะเรียกใช้คำสั่ง NUMA ด้วย NUMA เป็นผู้รับผิดชอบเท่านั้น ที่ไหน ในสิ่งที่แผนที่หน่วยความจำได้รับการจัดสรรและเนื่องจากเคอร์เนล XP จะมีแผนที่หน่วยความจำ 4GB เท่านั้น (ตามที่อธิบายไว้ในคำตอบของฉัน) และตำแหน่งของแผนที่หน่วยความจำนี้ขึ้นอยู่กับฮาร์ดแวร์
Breakthrough

ตกลงฉันจะยอมรับคำตอบของคุณ ข้อควรทราบเล็กน้อย: เมื่อทราบว่าเคอร์เนล XP นั้นแท้จริงแล้ว PAE ทราบแล้วฉันคาดว่าจะสามารถ "ดู" RAM จริงทั้งหมดและอย่างน้อยในทางทฤษฎีแล้วสามารถแมป 4 GB ลงในพื้นที่ที่อยู่เสมือนได้ ในขณะที่รักษาขีด จำกัด 4 GB (ใบอนุญาต) อย่างไรก็ตามในภายหลังฉันเจอบล็อกโพสต์ที่ยอดเยี่ยมนี้โดย Mark Russinovich โดยระบุว่าขีด จำกัด ที่อยู่แบบ 32 บิตถูกกำหนดไว้ในเคอร์เนลเนื่องจากปัญหาไดรเวอร์ซึ่ง จำกัด พื้นที่ที่อยู่ทางกายภาพที่สามารถใช้งานได้ถึง 4 GB แม้จะมี PAE: blogs.technet.com/b/markrussinovich/archive/2008/07/21/...
Josef Grahn

"ความเข้าใจของฉันคือตัวควบคุมเมนบอร์ดจะจัดการการแมปตำแหน่งหน่วยความจำเสมือนกับที่อยู่ทางกายภาพของ RAM" ข้อมูลเป็นจริงในตารางหน้าซึ่งเก็บไว้ใน RAM โดยระบบปฏิบัติการ MMU ของ CPU เข้าถึงสิ่งเหล่านี้ (และแคชใน TLB ซึ่งเป็นส่วนหนึ่งของ CPU) มี PTE สำหรับแต่ละหมายเลขหน้าเสมือนที่กำหนดไว้ MMU ใช้เนื้อหาเพื่อแปลหมายเลขหน้าเสมือนเป็นแบบฟิสิคัล ตัวควบคุมหน่วยความจำ (ไม่ว่าจะเป็นส่วนหนึ่งของชิปเซ็ตบนแผงวงจรหลักหรือส่วนหนึ่งของ CPU เช่นเดียวกับทอพอโลยีล่าสุด) จะจัดการเฉพาะกับที่อยู่ทางกายภาพ (RAM)
Jamie Hanrahan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.