Announcement

Collapse
No announcement yet.

Memeory ภายใต้ Windows มองเห็นไม่ครบ 4 GB อยากรู้มาดู

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Memeory ภายใต้ Windows มองเห็นไม่ครบ 4 GB อยากรู้มาดู

    เห็นหลายๆท่านถามมาจังเลย ข้อมูลนี้ผมก็เห็นมานาน น่าจะเป็นประโยชน์บ้างนะครับ
    ที่มา
    http://www.todaywin.info/2008/00005.html

    เรื่องปกติของระบบ 32 bits นั้นจะสามารถอ้างอิง Address ได้ไม่เกิน 4 GB เพราะว่า 2 ยกกำลัง 32 จะได้แค่ 4,294,967,296 นั้นแสดงว่าเราไม่สามารถใช้งาน Memory แบบปกติได้มากกว่า 4 GB อย่างแน่นอน แต่ก็มีผู้ที่พยายามเช่น Intel ,Microsoft ที่ได้ใช้วิธีการ PAE (Physical Address Extened) กับระบบ Memory ทำให้สามารถใช้ได้เพิ่มขึ้นเป็น 32 GB โดยการเพิ่ม 2 bits เข้าไปเป็น 34 bits แต่ว่าต้องให้ Chipset รองรับด้วยเพราะว่าในส่วนของ Memory Controller ของค่า่ย Intel นั้นอยู่ที่ North Chipset นั้นเอง และแน่นอนว่าต้องใช้ OS ที่รองรับด้วย และที่ซับบซ้อนกว่านั้นคือ หากโปรแกรมใดจะใช้งาน ก็ต้องรองรับอีกด้วย หากขาดอย่างใดอย่างหนึ่งก็คืออดใช้แน่นอน

    ในกรณีทั่วๆไปที่เราใช้งานกันปกติ เรามักจะคิดว่าระบบที่ใช้งาน Memory เกินกว่า 4GB นั้นต้องใช้งาน CPU 64 bits และใช้งาน OS เป็นระบบ 64 bits นั้นเป็นความคิดไม่สมบูรณ์เพราะว่า จริงๆการใช้งานระบบเกินกว่า 4GB นั้นจะต้องให้ Memory Controller รองรับด้วยไม่อย่างนั้น CPU จะรับส่งข้อมูลกับ Memory ได้อย่างไร ซึ่งก็แน่นอนว่าต้องให้ North Chip นั้นสนับสนุนด้วยไม่อย่างนั้นก็ต้องไปใช้งาน AMD ที่รวมเอา Memory Controller ไว้ในตัวของ CPU เลย( Intel จะทำเหมือนกันในอนาคตอันใกล้แต่ว่าตอนนี้ยังไม่ได้ออก Product ออกมาเท่านั้นเอง เพราะว่ายังไม่เจอปัญหาเรื่องคอขวดเหมือนกับที่ AMD เจอในการออกแบบ CPU นั้นเอง)

    ในกรณีที่ไม่ทั่วไป เช่น CPU 32 bits แต่ว่าต้องการใช้งาน memory เกินกว่า 4 GB นั้นสามารถทำได้โดยการใช้งาน PAE นั้นเอง แต่ว่าการใช้งานนั้นต้องให้ Application + OS + Chipset รองรับด้วยจึงสามารถทำได้โดยการอ้างอิง Memory เกินกว่า 4 GB หากมองให้ลึกจริงๆแล้วคือการอ้างอิงครั้งละ 4 GB แต่ว่าใช้แบบ Paging มาช่วยนั้น นั้นหมายความว่าการอ้าง Address ที่เยอะกว่า 4GB นั้นไม่ได้ทำให้เร็วมากขึ้นเพราะว่าต้องเสีย Overhead ในการสลับ Page ด้วยแต่ว่าทำให้ระบบสามารถทำงานต่อได้แม้ว่าจะเกิดการใช้งาน Memory มากกว่าปกติ เหตุที่ไม่ได้บอกว่า CPU ต้องรองรับเพราะว่าไม่เกี่ยวกับ CPU แต่หน้าเสียดายว่าการใช้งาน PAE นั้น Chipset นั้นจะรองรับแต่รุ่นของ Xenon เท่านั้นทำให้ต้องเสียเงินแพงอย่างเลี่ยงไม่ได้

    กลับมาที่คำถามของเราว่าทำไม Windows ไม่สามารถใช้งาน Address ทั้งหมด 4 GB ทั้งๆที่ RAM เราครบ BIOS เห็นครบ เพราะว่าตั้งแต่ต้นของการออกแบบ CPU ตั้งแต่รุ่น 8008 เลยก็ว่าได้ ไม่ได้มีการแยก Address ของ Hardware กับ Address ของ Memory หากท่านเคยใช้งาน Microcontroller จะเห็นได้ชัดว่า Address รวมกันอยู่ แล้วทำไม ไม่แยกออกมา เพราะว่าการแยก Address ออกมานั้นจะต้องใช้งาน ขาของ CPU เพิ่มขึ้นนั้นเอง และอีกอย่างไม่จำเป็นในสมัยนั้น จึงใช้งานร่วมกันมาโดยจะกัน Address ไว้สำหรับ Hardware ส่วนหนึ่งเป็นค่าตายตัว ตามแต่ CPU แต่ว่าปัจจุบันนั้น Memory Controller ได้ย้ายมาอยู่ใน North Chip จึงเป็นการย้ายข้อจำกัดมาอยู่ North Chip นั้นเองอย่างของ Intel จะได้แค่ 3.12GB ไม่เชื่อรองเอา i945 มารองดูได้ทำอย่างไรก็ไม่ได้ 4 GB แต่ว่าทำไม BIOS มองเห็นครบ เพราะว่า BIOS มีหน้าที่ทดสอบขนาดของ Memory เท่านั้นไม่ได้ยุ่งกับ Address อะไรเลยจึงสามารถแสดงตัวเลขได้ครบนั้นเอง

    แล้วจะทำอย่างไรเพื่อให้ใช้งาน 4 GB ได้ครบ ลองใช้งาน i975 ซึ่งสามารถใช้งานได้ 4 GB อย่างแน่นอนว่าต้องแพงกว่า Chipset ปกติแน่นอน แต่ที่แน่ๆว่า Application นั้นต้องรองรับด้วยเพราะว่าการใช้งานได้ครบ 4GB นั้นต้องใช้งาน Address ขั้นต่ำคือ 33 bits นั้นเอง

    ขอให้โชคดี แต่ก่อนจะจ่ายเงินให้คิดให้ดีก่อนว่าจำเป็นหรือไม่ที่ต้องใช้งานมากกว่า 4 GB หรือไม่เพราะว่าการใช้งาน Memory มากขนาดนั้นยังไม่จำเป็นเป็นสำหรับ User และในส่วนของ Server หากจำเป็นต้องใช้งานมากขนาดนั้น ผมเองไม่แนะนำ X64 เท่าไหร่ แนะนำให้ใช้งาน SPARC หรือไม่ก็ Itanium จะดีกว่าและคุ้มค่ากว่า

  • #2
    อืม แน่นๆ

    Comment


    • #3
      อ้าวจริงเหรอเนี่ยะ .... หุหุ

      Comment


      • #4
        แน่น มะมาก

        Comment


        • #5
          ฝากเอาข้อความนี้ไปแปะหน้าร้านแก่เกรียนๆแถวตะวันนาหน่อยครับ คุยซะจริงๆ แหม่ ช่างเทพ ร้านเทพ ขายก็แพง ยังอวดรู้(ผิดๆ)อีก

          Comment


          • #6
            แล้วทำไมบอร์ด ของ ASUS ที่ใช้ชิป 965 - P35 ในไบออสมันเห็นแค่ 3GB เองหว่า

            Comment


            • #7
              ตอนนี้มี Vita 36 Bit แล้วไปหามาลอง จะใด้ใช้ แรมเต็มที่ ซะที+++++++++++++++

              Comment


              • #8
                ฟามรู้ๆ ขอจดของเซฟหน่อยครับ อิอิ

                Comment


                • #9
                  ขอบคุณครับ

                  Comment


                  • #10
                    Originally posted by shady View Post
                    ฝากเอาข้อความนี้ไปแปะหน้าร้านแก่เกรียนๆแถวตะวันนาหน่อยครับ คุยซะจริงๆ แหม่ ช่างเทพ ร้านเทพ ขายก็แพง ยังอวดรู้(ผิดๆ)อีก
                    ขอพิกัดหน่อยครับ

                    Comment


                    • #11
                      ขอบคุณครับความรู้ครับ อิอิ

                      พออ่านดูแล้วก็พอเข้าใจว่าเป็นเพราะ Address ของ Hardware กับ Memory มันรวมกันอยู่

                      แต่ก็ยังไม่ค่อยเข้าใจว่ามันรวมกันเสร็จแล้วทำไมมันต้องลดลงมาเหลือ 3.12Gb

                      ขอโทษน่ะครับ คือมันไม่รู้เข้าใจจริงๆ

                      Comment


                      • #12
                        อืมมมมม ขอบคุณครับ

                        Comment


                        • #13
                          ดันไป
                          น่าปักหมุดอีกระทู้

                          Comment

                          Working...
                          X