Announcement

Collapse
No announcement yet.

ถามเกี่ยวกับ L2 Cache ครับ ???

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

  • ถามเกี่ยวกับ L2 Cache ครับ ???

    ตามความเข้าใจ L2 Cache มันเป็นส่วนที่รองรับข้อมูลชั่วคราวที่จะส่งไปยังหน่วยประมวลผลต่อไป ยิ่งเยอะยิ่งดี ถ้ามีน้อยก็รันโปรแกรมช้าลง มันขึ้นอยู่กับโปรแกรมที่ใช้หรือว่า overall performance มากกว่ากัน

    คำถาม

    1. ถ้าสมมติว่าผมใช้โปรแกรมที่มันรัน L2 300k แล้วผมมีทั้งเครื่อง Intel กับ AMD และมีอะไรเหมือนกันทั้งหมด การ์ดจอ แรม ฮาร์ดดิส สัญญาณเท่ากัน ก็เลยอยากทราบว่า L2 1m กับ L2 512x2 kb มันจะแตกต่างกันมากน้อยเพียงไร หรือว่าไม่แตกต่างกันเลยเพราะใช้ไปแค่ 300k เร็วพอๆกัน ในขณะเดียวกันถ้า Intel มี L2 มากกว่า 2m ขึ้นไป มันจะช่วยให้การประมวลผลเร็วขึ้นไปอีกหรือเปล่า

    2. อีกสาเหตุที่ AMD มี L2 Cache น้อยเป็นเพราะว่าเขามี HTT ที่มันมีบัสเยอะกว่า FSB ของ Intel หรือเปล่าอ่ะ ประมาณว่าส่งข้อมูลเร็วอยู่แล้วก็เลยไม่ต้องพึ่ง L2 มากนัก หรือว่าเป็นเพราะ AMD เขาขี้งกมากกว่า

    ในทางกลับกันทาง Intel ต้องอัด L2 เยอะๆ เพื่อให้มันผ่านข้อมูลได้เร็วยิ่งขึ้น เมื่อ L2 เยอะ ตรงจุดนี้เองที่ทาง Intel จะเห็นความแตกต่างกันจริงๆ ตรงที่เวลาเรารันโปรแกรมใหญ่ๆ หรือแปลงไฟล์ ที่ต้องใช้ L2 มากหน่อย มันจะเร็วกว่า AMD พอควรเลย performance drop เกือบ 10% แน่ะ

    ดังนั้นถ้าใช้งานทั่วไปจริงๆ เช่น ดูหนัง ฟังเพลง เล่นเน็ต โหลดบิต เล่นเกมยิงไข่ ไม่ต้องไปดู L2 เลยก็ได้มั้ง

    ป.ล. เขียนไปเขียนมา ยาวเลยซะงั้น ถ้าเข้าใจอะไรผิดก็ต้องขออภัยด้วยน่ะคร้าบ

  • #2
    L2 เยอะดีกว่าน้อย โลภมาก55

    Comment


    • #3
      ขุดๆ ไม่กล้าตอบ

      กลัวผิด

      อิอิอิ

      Comment


      • #4
        Good questions.

        Comment


        • #5
          รู้แต่วา่า AMD ส่งข้อมูลแบบบัพเฟอร์ริ่ง จึงไม่จำเป็นต้องใช้ L2 มาก..... มั้ง -*-

          Comment


          • #6
            Originally posted by hellods View Post
            ตามความเข้าใจ L2 Cache มันเป็นส่วนที่รองรับข้อมูลชั่วคราวที่จะส่งไปยังหน่วยประมวลผลต่อไป ยิ่งเยอะยิ่งดี ถ้ามีน้อยก็รันโปรแกรมช้าลง มันขึ้นอยู่กับโปรแกรมที่ใช้หรือว่า overall performance มากกว่ากัน

            คำถาม

            1. ถ้าสมมติว่าผมใช้โปรแกรมที่มันรัน L2 300k แล้วผมมีทั้งเครื่อง Intel กับ AMD และมีอะไรเหมือนกันทั้งหมด การ์ดจอ แรม ฮาร์ดดิส สัญญาณเท่ากัน ก็เลยอยากทราบว่า L2 1m กับ L2 512x2 kb มันจะแตกต่างกันมากน้อยเพียงไร หรือว่าไม่แตกต่างกันเลยเพราะใช้ไปแค่ 300k เร็วพอๆกัน ในขณะเดียวกันถ้า Intel มี L2 มากกว่า 2m ขึ้นไป มันจะช่วยให้การประมวลผลเร็วขึ้นไปอีกหรือเปล่า

            2. อีกสาเหตุที่ AMD มี L2 Cache น้อยเป็นเพราะว่าเขามี HTT ที่มันมีบัสเยอะกว่า FSB ของ Intel หรือเปล่าอ่ะ ประมาณว่าส่งข้อมูลเร็วอยู่แล้วก็เลยไม่ต้องพึ่ง L2 มากนัก หรือว่าเป็นเพราะ AMD เขาขี้งกมากกว่า

            ในทางกลับกันทาง Intel ต้องอัด L2 เยอะๆ เพื่อให้มันผ่านข้อมูลได้เร็วยิ่งขึ้น เมื่อ L2 เยอะ ตรงจุดนี้เองที่ทาง Intel จะเห็นความแตกต่างกันจริงๆ ตรงที่เวลาเรารันโปรแกรมใหญ่ๆ หรือแปลงไฟล์ ที่ต้องใช้ L2 มากหน่อย มันจะเร็วกว่า AMD พอควรเลย performance drop เกือบ 10% แน่ะ

            ดังนั้นถ้าใช้งานทั่วไปจริงๆ เช่น ดูหนัง ฟังเพลง เล่นเน็ต โหลดบิต เล่นเกมยิงไข่ ไม่ต้องไปดู L2 เลยก็ได้มั้ง

            ป.ล. เขียนไปเขียนมา ยาวเลยซะงั้น ถ้าเข้าใจอะไรผิดก็ต้องขออภัยด้วยน่ะคร้าบ
            เอาละครับมีคนสงสัยกันมาเยอะกับ Cache memerry CPU ผมจะอธิบายให้ฟังดังต่อไปนี้ คือ
            Cache memerry CPU มีอยู่ด้วยกัน 3 level คือ L1,L2,L3ในปัจจุบัน แต่ในระดับ L3 นั้นส่วนมากผู้ผลิตมักไม่ใส่มาให้เพราะอะไรนั้นเราค่อยมาดูกันในภายหลัง ซึ่งปัจจุบันที่พบก็คือ L1,L2 โดยที่ L1,L2 ก็เป็นหน่วยความจำชนิดหนึ่งเหมือนกันแต่มันจะทำงานเร็วมากเร็วกว่าแรมที่เราใช้ใน PC หรือ NB อีกครับ
            เพราะว่า L1,L2,L3 ทำมาจาก SRAM(STATIC RAM) ส่วนแรมที่เราใช้กันอยู่ในปัจจุบันเป็น DRAM(DYNAMIC RAM) Cache memerry
            ไม่จำเป็นต้องอยู่ภายในเสมอไปนะครับมันขึ้นอยู่กับการออกแบบจากผู้ผลิตครับแต่โดยส่วนมากแล้ว L1,L2 จะไว้ภายใน CPU เลย โดยที่ L1อยู่ใกล้ CPU มากที่สุดรองลงมาก็ L2,L3 ตามลำดับครับ ผมขอตอบคำถามเลยก็แล้วกันขี้เกี้ยจพิมพ์ครับ
            ตอบข้อ1 ไม่แตกต่างกันเลยครับ
            ตอบข้อ2 การที่ L2 ที่มากหรือน้อยนั้นต่างก็มีข้อเสียมันกันครับคือ การที่มี L2 น้อยๆจะทำให้การค้นหาข้อมูลหรือคำสั่งนั้นสามารถทำได้เร็วขึ้น แต่ถ้าขนาด L2 ไม่พอกับจำนวนคำสั่งหรือข้อมูลเมื่อไรก็จะทำให้ CPU ทำงานได้ช้าลงเนื่องจากต้องให้อ่านข้อมูลจากแรมของระบบแทน ดังนั้นจะเห็นได้ว่าทำไม่ CPU ของ AMD จึงเข้ารหัสไฟล์วีดีโอได้ช้ากว่าทางฝังของอินเทล แต่ AMD ก็มีทางแก้คือการเพิ่ม HTT ครับ คราวนี้มาดูกรณีที่มี L2 มากๆกันบ้างเหมือนทางฝังอินเทลคือ การที่มี L2 มากจะทำให้การประมวลผลของ CPU ดีขึ้นก็จริงแต่ก็ต้องใช้เวลาในการค้นหาข้อมูลหรือคำสั่งเพิ่มขึ้นเป็นเงาตามตัว ถ้าเกิดค้นหาแล้วไม่พบข้อมูลใน L2 ก็ต้องใช้เวลาเพิ่มขึ้นอีกในการค้นหาข้อมูลในหน่วยความจำหลัก และอีกประการหนึ่งก็คือการที่มี Cache memerry CPU เยอะๆๆจะทำให้ราคาของ CPU แพงขึ้นเช่นกัน ดังนั้น Cache memerry CPU เยอะๆเหมาะสมกับงานการเข้ารหัสไฟล์วีดีโอและ Network-File-Server ซะมากกว่า
            ปล.ถ้วยังไม่เข้าใจก็ไปดูตาม link ข้างล่างนี้นะครับ เอาอธิบายไว้ค่อนข้างละเอียดมาก
            http://www.reg16-1003.com/saras/saras12.html

            Comment


            • #7
              ท่านใดที่คิดว่าข้อมูลของผมผิดก็โต้แย้งได้นะครับหรือมีอะไรเพิ่มเติมก็เชิญเลยครับ จะได้แลกเปลี่ยนความรู้กันครับ
              และอีกอย่างคนที่ไม่รู้เรื่องนี้มีเยอะครับเรามาช่วยแชร์ความรู้ให้เขากันครับ

              Comment


              • #8
                อันนี้ copy เขามาครับ ลองอ่านดูครับ

                1. L1 Cache หรือเรียกว่า Register มีขนาดความจุน้อย ราคาแพงมากกกๆ และผลิตยากมาก แต่มีความเร็วในการทำงานสูงสุด จึงถูกใช้เป็นที่เก็บข้อมูลสำหรับการประมวลผลหรือเก็ บชุดคำสั่ง (Instruction set)

                2. L2 Cache หรือหน่วยความจำแคช มีขนาดความจุ พอสมควร ความเร็วรองลงมาจาก L1 อยู่ใน CPU เหมือนกัน มีประโยชน์คือใช้ในการ fetch ข้อมูลที่ต้องเรียกใช้บ่อยๆมาเก็บที่ cache ทำให้เวลา CPU ติดต่อกับ cache ทำได้รวดเร็วขึ้น ราคาแพง

                3. L3 หรือที่เรียกกันติดปากว่า RAM (Main Memory) มีความจุมาก ทำงานได้เร็วรองลงมาจาก L2 แต่ก้อยังช้ากว่า L2 อยู่ดี แต่ทว่าซีพียูบางรุ่นมีการรวม RAM เข้าไปใน CPU เพื่อลด Latency ทำให้ CPU สามารถติดต่อกับแรมได้โดยตรง และเร็วมากขึ้น

                4. L4 หรือพวก Data Storage เช่น HDD, Flash Memory มีความจุมากที่สุด และทำงานได้ช้าที่สุดในระบบคอมพิวเตอร์

                Comment


                • #9
                  สาระดีครับ ขอบคุณ

                  Comment


                  • #10
                    เข้าใจแจ่มแจ้งเลยครับ

                    Comment


                    • #11
                      เเต่ทำไม CPU ใหม่ๆของ Intel จะมี L1 เเค่ 32kb ต่อคอร์ (AMD มี 64kb) เพราะอะไรหรอครับ?


                      ข้อ2 การที่ L2 ที่มากหรือน้อยนั้นต่างก็มีข้อเสียมันกันครับคือ การที่มี L2 น้อยๆจะทำให้การค้นหาข้อมูลหรือคำสั่งนั้นสามารถทำได้เร็วขึ้น แต่ถ้าขนาด L2 ไม่พอกับจำนวนคำสั่งหรือข้อมูลเมื่อไรก็จะทำให้ CPU ทำงานได้ช้าลงเนื่องจากต้องให้อ่านข้อมูลจากแรมของระบบแทน ดังนั้นจะเห็นได้ว่าทำไม่ CPU ของ AMD จึงเข้ารหัสไฟล์วีดีโอได้ช้ากว่าทางฝังของอินเทล แต่ AMD ก็มีทางแก้คือการเพิ่ม HTT ครับ คราวนี้มาดูกรณีที่มี L2 มากๆกันบ้างเหมือนทางฝังอินเทลคือ การที่มี L2 มากจะทำให้การประมวลผลของ CPU ดีขึ้นก็จริงแต่ก็ต้องใช้เวลาในการค้นหาข้อมูลหรือคำสั่งเพิ่มขึ้นเป็นเงา ตามตัว ถ้าเกิดค้นหาแล้วไม่พบข้อมูลใน L2 ก็ต้องใช้เวลาเพิ่มขึ้นอีกในการค้นหาข้อมูลในหน่วยความจำหลัก และอีกประการหนึ่งก็คือการที่มี Cache memerry CPU เยอะๆๆจะทำให้ราคาของ CPU แพงขึ้นเช่นกัน ดังนั้น Cache memerry CPU เยอะๆเหมาะสมกับงานการเข้ารหัสไฟล์วีดีโอและ Network-File-Server ซะมากกว่า
                      สาระสุดยอดเลยครับ สรุปคือ พี่เเกไม่ได้งก L2 เเต่ มีเทคโนโลยี ที่ทันสมัยกว่ามาช่วยจัดการ

                      Comment


                      • #12
                        สาระดีสุดยอด (ฉลาดขึ้นอีกนิดแล้วเรา)

                        Comment


                        • #13
                          ความรู้ทั้งนั้น

                          Comment


                          • #14
                            จดๆๆความรู้ ผิดถูกค่อยว่ากันทีหลัง

                            Comment


                            • #15
                              เรื่อง L2 ของ INTEL อย่าเอาไปเปรียบเทียบกับ AMD มันต่างกัน ออกแบบมาไม่เหมือนกัน ดูอย่าง AMD พวก X2 L2 2*512KB กับ 2*1024KB ความเร็วต่างกันประมาณ 5% เท่านั้นเองทั้งๆที่ L2 มากกว่ากันตั้ง 100%

                              Comment

                              Working...
                              X