Active State Power Manager คืออะไร และส่งผลต่อประสิทธิภาพการทำงานอย่างไร

  • Active State Power Management (ASPM) จัดการสถานะพลังงานของลิงก์ PCIe เพื่อลดการใช้พลังงานเมื่อไม่มีการถ่ายโอนข้อมูลที่ใช้งานอยู่
  • การเปิดใช้งานจะช่วยปรับปรุงประสิทธิภาพการใช้พลังงาน แต่ต้องแลกมาด้วยความล่าช้าที่เพิ่มขึ้น จึงมีประโยชน์อย่างยิ่งในแล็ปท็อป และมีความสำคัญน้อยลงในอุปกรณ์ประสิทธิภาพสูง
  • การใช้งานที่เหมาะสมจะขึ้นอยู่กับ BIOS/UEFI ระบบปฏิบัติการและไดรเวอร์ และอาจถูกปิดใช้งานบนฮาร์ดแวร์หรือเซิร์ฟเวอร์ที่มีปัญหาซึ่งให้ความสำคัญกับความเสถียรเป็นหลัก
  • ASPM เป็นส่วนหนึ่งของระบบนิเวศ ACPI และอยู่ร่วมกับสถานะ G, D, C และ P ซึ่งประสานสมดุลโดยรวมระหว่างประสิทธิภาพ การบริโภค และอุณหภูมิของระบบ

Active State Power Manager คืออะไร?

หากคุณเคยเห็นข้อความอย่าง "PCI Express Active-State Power Management (ASPM) disabled" ในรายงานการใช้พลังงานของ Windowsแล้วรู้สึกงง ก็ไม่ต้องกังวลไป คุณไม่ได้อยู่คนเดียว เทคโนโลยีนี้ฟังดูซับซ้อนทางเทคนิค แต่จริงๆ แล้วมันก็คือวิธีการที่คอมพิวเตอร์ของคุณตัดสินใจปรับสมดุลระหว่างการใช้พลังงานและประสิทธิภาพเมื่ออุปกรณ์ PCI Express ไม่ได้ทำงานเต็มประสิทธิภาพนั่นเอง

การทำความเข้าใจว่า Active State Power Manager คืออะไรและส่งผลต่อประสิทธิภาพอย่างไรเป็นสิ่งสำคัญไม่ว่าคุณจะใช้แล็ปท็อปและต้องการยืดอายุการใช้งานแบตเตอรี่ให้สูงสุด หรือจัดการเซิร์ฟเวอร์หรือพีซีประสิทธิภาพสูงและกังวลเรื่องความเสถียรและประสิทธิภาพสูงสุดมากกว่าการประหยัดพลังงานเพียงไม่กี่วัตต์ เรามาทำความเข้าใจอย่างละเอียด โดยเชื่อมโยงกับแนวคิดอื่นๆ เช่น PCIe, ACPI, สถานะพลังงาน, BIOS/UEFI และตัวเลือกพลังงานของ Windows และ Linux

Active State Power Management (ASPM) ใน PCI Express คืออะไร

ระบบจัดการพลังงานแบบแอคทีฟ (Active State Power Management หรือ ASPM) เป็นกลไกประหยัดพลังงานที่ติดตั้งอยู่ในมาตรฐาน PCI Expressซึ่งทำหน้าที่จัดการการใช้พลังงานของลิงก์ PCIe เมื่ออุปกรณ์ที่เชื่อมต่อไม่ได้ส่งข้อมูลอยู่ แทนที่จะรักษาพลังงานของลิงก์ให้เต็มที่อยู่ตลอดเวลา ASPM จะอนุญาตให้ลิงก์ระหว่าง CPU หรือชิปเซ็ตกับอุปกรณ์ PCIe เข้าสู่สถานะใช้พลังงานต่ำในช่วงเวลาที่ไม่มีการใช้งาน

หลักการพื้นฐานนั้นง่ายมาก: เมื่อไม่มีการรับส่งข้อมูล ลิงก์จะ "ผ่อนคลาย " ใช้พลังงานน้อยลงและสร้างความร้อนน้อยลง เมื่อใดก็ตามที่ต้องการใช้งานอีกครั้ง ลิงก์ก็จะกลับสู่สถานะใช้งานปกติ การเปลี่ยนสถานะนี้มีค่าใช้จ่าย: มันจะเพิ่มความหน่วง เล็กน้อย และนั่นคือจุดที่ความสมดุลระหว่างประสิทธิภาพและความคุ้มค่าเข้ามามีบทบาท

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

ในระบบ Linux พฤติกรรมทั่วโลกของ ASPM จะถูกจัดการจากโมดูลเคอร์เนลที่สอดคล้องกับ PCIeมีพารามิเตอร์โมดูลที่เปิดเผยใน /sys/module/pcie_aspm/parameters/policy โดยกำหนดนโยบายที่จะนำไปใช้ นอกจากนี้ พารามิเตอร์เช่น [ต่อไปนี้] ยังสามารถใช้ได้ในระหว่างการเริ่มต้นระบบเคอร์เนล pcie_aspm=off เพื่อปิดการใช้งานทั่วโลกหรือ pcie_aspm=force เพื่อบังคับใช้ ASPM แม้กระทั่งกับอุปกรณ์ที่ในทางทฤษฎีแล้วไม่รองรับอย่างถูกต้อง (ซึ่งอาจทำให้เกิดปัญหาต่อฮาร์ดแวร์ที่มีปัญหาได้)

ความสัมพันธ์ระหว่าง ASPM, การจัดการพลังงานสถานะลิงก์และตัวเลือกพลังงานใน Windows

ในระบบปฏิบัติการ Windows สิ่งที่มักปรากฏในตัวเลือกพลังงานในชื่อ "การจัดการพลังงานสถานะลิงก์" นั้นแท้จริงแล้วคือวิธีการที่ระบบปฏิบัติการแสดงและควบคุมนโยบาย ASPM ของลิงก์ PCIe ที่เข้ากันได้

การตั้งค่านี้จะอยู่ในแผนการใช้พลังงานโดยไปตามเส้นทางปกติ: การตั้งค่า → ระบบ → พลังงานและการนอนหลับ → การตั้งค่าพลังงานเพิ่มเติม → เปลี่ยนการตั้งค่าแผน → เปลี่ยนการตั้งค่าพลังงานขั้นสูง ภายในตัวเลือกขั้นสูง ภายใต้ “PCI Express” คุณจะพบ “การจัดการพลังงานสถานะลิงก์”

โดยทั่วไป Windows จะมีระดับการทำงานสามระดับสำหรับการจัดการพลังงานสถานะลิงก์ (Link State Power Management)ซึ่งโดยหลักการแล้วจะสอดคล้องกับระดับการประหยัดพลังงานและความหน่วงที่แตกต่างกัน:

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

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

ASPM ส่งผลต่อประสิทธิภาพและอายุการใช้งานแบตเตอรี่อย่างไร

ผลกระทบที่เห็นได้ชัดที่สุดของ ASPM นั้นปรากฏให้เห็นในสองด้าน ได้แก่ ประสิทธิภาพ (ความหน่วง) และการใช้พลังงานทั้งสองอย่างนี้เป็นเหมือนเหรียญสองด้าน และการปรับแต่งการตั้งค่าหมายถึงการให้ความสำคัญกับด้านใดด้านหนึ่งมากกว่า

เมื่อเปิดใช้งาน ASPM และในโหมดการทำงานแบบเชิงรุก ระบบจะลดการใช้พลังงานบนลิงก์ PCIeตราบใดที่ไม่ได้มีการส่งข้อมูลอยู่ โดยเฉพาะอย่างยิ่งจะเห็นได้ชัดเจนในกรณีต่อไปนี้:

  • แบบพกพาซึ่งขึ้นอยู่กับพลังงานแบตเตอรี่และประหยัดพลังงานทุกวัตต์
  • ระบบที่มีอุปกรณ์ PCIe จำนวนมาก (การ์ดจอ, NIC, ตัวควบคุมที่เก็บข้อมูล ฯลฯ) ซึ่งการประหยัดโดยรวมนั้นสามารถมีนัยสำคัญได้
  • ศูนย์ข้อมูลและสภาพแวดล้อมเซิร์ฟเวอร์ที่มีความหนาแน่นสูงโดยที่วัตต์เพียงไม่กี่วัตต์ต่อเซิร์ฟเวอร์สามารถขยายเป็นตัวเลขขนาดใหญ่ที่ระดับแร็คหรือศูนย์ข้อมูลได้

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

จากการวิเคราะห์และศึกษาบางชิ้น พบว่าการจัดการ ASPM ที่เหมาะสมสามารถเพิ่มประสิทธิภาพการใช้พลังงานและการใช้งานบัส PCIe ได้มากถึง 20%ซึ่งไม่ได้หมายความว่าคอมพิวเตอร์ของคุณจะทำงานเร็วขึ้น 20% แต่หมายความว่ามันจะใช้พลังงานน้อยลงและสร้างความร้อนน้อยลงสำหรับปริมาณงานเท่าเดิม ซึ่งเป็นประโยชน์อย่างยิ่งสำหรับแล็ปท็อปและอุปกรณ์พกพา

ใน Windows เป็นเรื่องปกติสำหรับเครื่องมือเช่น powercfg -energy แสดงข้อผิดพลาดที่เกี่ยวข้องกับ ASPM ประเภท: "PCI Express Active-State Power Management (ASPM) ถูกปิดใช้งานเนื่องจากทราบแล้วว่าเข้ากันไม่ได้กับฮาร์ดแวร์ของคอมพิวเตอร์เครื่องนี้" ในกรณีเหล่านี้ Windows ได้ตัดสินใจที่จะบล็อก ASPM ด้วยเหตุผลด้านความปลอดภัย เนื่องจากทราบว่าส่วนประกอบบางอย่างไม่สามารถจัดการ ASPM ได้ดีนักและอาจทำให้เกิดการหยุดทำงาน อุปกรณ์หลุดการเชื่อมต่อ หรือไม่เสถียร

ปัญหาทั่วไป: ข้อผิดพลาด ASPM แบตเตอรี่ และความเข้ากันได้ของฮาร์ดแวร์

ผู้ใช้หลายคนมักพบกับ ASPM เป็นครั้งแรกเมื่อตรวจสอบปัญหาเกี่ยวกับแบตเตอรี่หรือการวินิจฉัยพลังงานโดยเฉพาะอย่างยิ่งในแล็ปท็อปประสิทธิภาพสูงที่มี CPU รุ่นใหม่ๆ และ GPU เฉพาะ (เช่น ระบบ Intel Core i9 เจนเนอเรชั่นที่ 12 และกราฟิก RTX ระดับไฮเอนด์)

ตัวอย่างทั่วไปคือแล็ปท็อปเครื่องใหม่ที่มีแบตเตอรี่ใช้งานได้น้อยกว่าที่คาดไว้มาก (2-2,5 ชั่วโมงในการใช้งานเบาๆ เทียบกับ 5-6 ชั่วโมงที่ผู้ใช้รายอื่นรายงาน) เมื่อสร้างรายงานด้วย powercfg -energy ใน Windows ข้อผิดพลาดเช่นต่อไปนี้จะปรากฏขึ้น:

  • ความสามารถในการจัดการพลังงานของแพลตฟอร์ม: PCI Express Active-State Power Management (ASPM) ถูกปิดใช้งาน ASPM ถูกปิดใช้งานเนื่องจากพบปัญหาความเข้ากันได้กับฮาร์ดแวร์ของคอมพิวเตอร์เครื่องนี้
  • คำเตือนเกี่ยวกับ อุปกรณ์ USB ที่ไม่เข้าสู่โหมดระงับแบบเลือก (เช่น อุปกรณ์ที่มี ID USB เฉพาะ) ซึ่งจะเพิ่มการใช้พลังงานในโหมดสแตนด์บายด้วย

ในสถานการณ์เหล่านี้ ไม่ใช่ความผิดของโปรเซสเซอร์เสมอไปบ่อยครั้งเป็นผลมาจากหลายปัจจัยร่วมกัน:

  • การออกแบบอุปกรณ์ (เมนบอร์ด, BIOS/UEFI, ผู้ผลิตนำตาราง ACPI ไปใช้อย่างไร และรองรับ ASPM อย่างไร)
  • ไดรเวอร์อุปกรณ์ (GPU, NIC, ที่เก็บข้อมูล, USB) ที่ไม่ได้ใช้งาน ASPM อย่างสมบูรณ์หรือถูกต้อง
  • อุปกรณ์ภายนอก USB เพื่อป้องกันการระงับแบบเลือกปฏิบัติหรือทำให้ระบบทำงานมากกว่าที่ต้องการ

ในทางปฏิบัติ เมื่อ Windows แจ้งว่า ASPM ถูกปิดใช้งานเนื่องจากความไม่เข้ากันการเปิดใช้งานใหม่โดยไม่มีความเสี่ยงนั้นแทบจะไม่ใช่เรื่องง่าย การบังคับเปิดใช้งานผ่านวิธีการแก้ไขหรือไดรเวอร์ที่ดัดแปลง อาจทำให้ตัวอย่างเช่น การ์ดเครือข่ายหยุดทำงานจนกว่าจะรีสตาร์ทเครื่อง

หากต้องการตัดปัญหาที่เกิดจากซอฟต์แวร์ใน Windows ออกไป โดยทั่วไปจะแนะนำขั้นตอนพื้นฐานบางประการเรียกใช้ตัวแก้ไขปัญหาพลังงาน อัปเดต Windows และไดรเวอร์และในบางกรณีจะทำการตรวจสอบไฟล์ระบบด้วย SFC (sfc /scannow) และยูทิลิตี้ DISM (DISM.exe /Online /Cleanup-image /Scanhealth y /Restorehealthหากหลังจากนั้น รายงานยังคงแสดงว่า ASPM ถูกปิดใช้งานโดยฮาร์ดแวร์ แสดงว่าอาจเป็นข้อจำกัดของอุปกรณ์นั้นเองหรือเฟิร์มแวร์ของอุปกรณ์

ASPM บนเซิร์ฟเวอร์และอุปกรณ์ 24/7: คุ้มค่าหรือไม่?

Active State Power Manager คืออะไร และส่งผลต่อประสิทธิภาพการทำงานอย่างไร

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

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

ใน Linux มีหลายวิธีในการจัดการกรณีเหล่านี้บนเซิร์ฟเวอร์ :

  • ปิดใช้งาน ASPM ทั่วโลก ด้วยพารามิเตอร์การบูตเคอร์เนล pcie_aspm=offเป็นโซลูชั่นที่มีประสิทธิผลสูงสุด ใช้ได้กับทุกอุปกรณ์ โดยไม่ต้องเสียสละการประหยัดพลังงานนี้ไปโดยสิ้นเชิง
  • ใช้ไดรเวอร์ที่ได้รับการแก้ไขแล้ว (ตัวอย่างเช่น เวอร์ชันที่แก้ไขแล้วของ e1000e (สำหรับ NIC ของ Intel) ที่ปิดใช้งาน ASPM หรือละเว้นสถานะปัญหาบางอย่างเฉพาะกับอุปกรณ์ที่ได้รับผลกระทบเท่านั้น
  • ปรับเปลี่ยนบิต ASPM ของอุปกรณ์เฉพาะ ด้วยเครื่องมืออย่าง setpciการปรับเปลี่ยนพฤติกรรมในระหว่างการรันไทม์โดยไม่กระทบต่อระบบส่วนที่เหลือ (แม้ว่าโดยปกติแล้วการเปลี่ยนแปลงจะสูญหายไปหลังจากการรีบูตหากไม่ได้ดำเนินการอัตโนมัติ)

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

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

ASPM, ACPI และสถานะพลังงานที่แตกต่างกันของระบบ

เพื่อให้เข้าใจว่า ASPM อยู่ในตำแหน่งใดใน "แผนที่" การจัดการพลังงาน เราต้องพูดถึง ACPI (Advanced Configuration and Power Interface) ก่อน ACPI เป็นมาตรฐานที่เข้ามาแทนที่ APM รุ่นเก่า และกำหนดวิธีการสื่อสารระหว่างเฟิร์มแวร์ (BIOS/UEFI) และระบบปฏิบัติการเพื่อจัดการพลังงาน การขัดจังหวะ สถานะการนอนหลับ การกำหนด IRQ และอื่นๆ อีกมากมาย

ACPI เป็นส่วนประกอบสำคัญในฮาร์ดแวร์สมัยใหม่เกือบทั้งหมด ไม่ใช่แค่ x86 เท่านั้นมันมีต้นกำเนิดมาจาก Intel, Microsoft และ Toshiba ในช่วงทศวรรษ 90 แต่เมื่อเวลาผ่านไป มันก็ได้แพร่กระจายไปยังสถาปัตยกรรมต่างๆ เช่น ARM โดยเฉพาะในภาคส่วนเซิร์ฟเวอร์และ HPC ซึ่งมีการนำส่วนประกอบหลายอย่างจากระบบนิเวศ x86 (UEFI, GPU เป็นต้น) มาใช้ซ้ำ

แม้ว่า ACPI จะเป็นมาตรฐานที่ได้รับการยอมรับอย่างกว้างขวาง แต่ก็ได้รับการวิพากษ์วิจารณ์อย่างมากบุคคลสำคัญในอุตสาหกรรม เช่น มาร์ค ชัตเติลเวิร์ธ ผู้ก่อตั้ง Canonical ได้ชี้ให้เห็นว่าเฟิร์มแวร์แบบปิด (รวมถึงการใช้งาน ACPI) เป็นช่องทางที่เหมาะสำหรับช่องโหว่ด้านความปลอดภัยและแบ็กดอร์ที่อาจเกิดขึ้นได้ นอกจากนี้ยังมีการค้นพบกรณีที่ผู้ผลิตเช่น Lenovo และ Samsung ใช้ตาราง ACPI ของ Windows บางตาราง (ตัวอย่างเช่น ตาราง WPBT) เพื่อติดตั้งซอฟต์แวร์ที่น่าสงสัย หรือในทางทฤษฎีแล้ว อาจอำนวยความสะดวกในการติดตั้งรูทคิตแบบถาวรได้

ภายในระบบ ACPI เราพบสถานะพลังงานหลายประเภทที่ส่งผลกระทบต่อทั้งระบบ อุปกรณ์เฉพาะ และโปรเซสเซอร์ ASPM เกี่ยวข้องกับส่วนประกอบลิงก์ PCIe เป็นหลัก แต่ก็ทำงานร่วมกับทุกระดับเหล่านี้ได้เช่นกัน:

สถานะทั่วโลกของระบบ (G States)

สถานะโดยรวมกำหนดระดับกิจกรรมของทีมโดยรวมและแสดงด้วยการผสมผสานระหว่าง Gx/Sx:

  • จีโอ/เอสโอระบบยังทำงานได้ปกติ
  • G1 (โหมดกันสะเทือน) ซึ่งจะแบ่งออกเป็น:
    • จีโอ/เอสโอระบบกันสะเทือนเบา; CPU และแคชยังคงทำงานอยู่
    • จีโอ/เอสโอCPU ปิดลงและข้อมูลสูญหายในรีจิสเตอร์ แต่ส่วนหนึ่งของระบบยังคงทำงานอยู่
    • จีโอ/เอสโอ:“ระงับการใช้งาน RAM” ระบบดูเหมือนจะปิดอยู่ แต่ RAM ยังคงได้รับพลังงานเพื่อรักษาสถานะไว้
    • จีโอ/เอสโอ:การจำศีล เนื้อหาของ RAM จะถูกทิ้งลงในที่จัดเก็บและสามารถปิด RAM ได้
  • จีโอ/เอสโอ:การปิดระบบแบบนุ่มนวล ระบบปิดอยู่ แต่มีพลังงานเพียงเล็กน้อยเพื่อให้สามารถเปิดเครื่องได้ตามเหตุการณ์ (คีย์บอร์ด, เครือข่าย, ฯลฯ)
  • G3:ปิดระบบโดยสมบูรณ์ ไม่มีแหล่งจ่ายไฟ ยกเว้นส่วนประกอบขั้นต่ำ เช่น นาฬิกาเรียลไทม์ที่ใช้พลังงานจากแบตเตอรี่

ASPM จะมีบทบาทสำคัญเมื่อระบบอยู่ในสถานะ G0/S0ซึ่งก็คือระบบเปิดใช้งานและทำงานอยู่ ในกรณีนี้ ลิงก์ PCIe สามารถเปลี่ยนสถานะจากสถานะใช้งานไปเป็นสถานะใช้พลังงานต่ำได้โดยที่ระบบไม่เข้าสู่โหมดสลีปโดยสมบูรณ์

สถานะอุปกรณ์ (สถานะ D) และสถานะโปรเซสเซอร์ (สถานะ C)

นอกเหนือจากสถานะโดยรวมแล้ว ACPI ยังกำหนดสถานะพลังงานระดับอุปกรณ์ซึ่งเรียกว่าสถานะ D:

  • D0: อุปกรณ์เปิดอยู่และใช้งานได้ 100%
  • D1 และ D2:สถานะกลางที่มีการเปลี่ยนแปลงขึ้นอยู่กับอุปกรณ์ โดยจะประหยัดพลังงานบางส่วนแต่ยังคงตอบสนองได้ดี
  • D3:แบ่งเป็น “ร้อน” และ “เย็น” ขึ้นอยู่กับว่ารักษาพลังงานเสริมไว้หรือไม่ อาจหยุดตอบสนองต่อบัสโดยสิ้นเชิง

ในขณะเดียวกัน โปรเซสเซอร์ก็มีสถานะ C ของตัวเองซึ่งควบคุมว่า CPU จะ "ผ่อนคลาย" มากน้อยแค่ไหนเมื่อไม่มีงานให้ทำ สถานะที่สำคัญที่สุดบางส่วนได้แก่:

  • C0:เคอร์เนลกำลังดำเนินการโค้ดอย่างแข็งขัน
  • ซี1/ซี1อี: สถานะ “หยุด” เคอร์เนลจะไม่ดำเนินการตามคำสั่ง แต่สามารถกลับสู่ C0 ได้เกือบจะทันที เวอร์ชัน C1E เพิ่มการปรับปรุงการประหยัดพลังงานเพิ่มเติม
  • C2: “stop-clock”; นาฬิกาหลักหยุดแล้ว ใช้เวลานานขึ้นเล็กน้อยในการกลับสู่ C0
  • C3 และสถานะที่ลึกกว่า (C4-C10 ใน CPU สมัยใหม่): แคชจะถูกล้าง นาฬิกาภายในจะถูกปิด และในบางกรณี คอร์จะถูกปิดด้วยซ้ำ โดยรักษาสถานะไว้ในหน่วยความจำเฉพาะ (เช่น C6 บันทึกสถานะใน SRAM โดยที่คอร์อยู่ที่ 0 V)

การเปลี่ยนสถานะระหว่างสถานะเหล่านี้ถูกกระตุ้นโดยคำสั่งพิเศษ เช่น HLT หรือ MWAITซึ่งจัดการโดยระบบปฏิบัติการและตัวควบคุมพลังงาน การขัดจังหวะจากฮาร์ดแวร์จะทำให้คอร์เปลี่ยนสถานะเป็น C0 ทันทีเพื่อจัดการกับการขัดจังหวะนั้น และโปรเซสเซอร์สมัยใหม่บางตัวยังส่งต่อการขัดจังหวะไปยังคอร์ที่ทำงานอยู่แล้วเพื่อหลีกเลี่ยงการปลุกคอร์ที่ไม่ได้ใช้งานอื่นๆ โดยไม่จำเป็น

สถานะประสิทธิภาพของโปรเซสเซอร์ (P States)

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

โดยทั่วไปแล้ว สถานะ P จะแสดงเป็น P0, P1, P2, …โดยที่ P0 คือสถานะที่มีความถี่และแรงดันไฟฟ้าสูงสุด และสถานะถัดไปจะแสดงถึงความถี่และการใช้พลังงานที่ต่ำกว่า เทคโนโลยีต่างๆ เช่นIntel SpeedStep, AMD PowerNow!, PowerSaver ของ VIA และโหมด Turboอาศัยสถานะเหล่านี้ในการปรับความถี่ตามภาระและข้อจำกัดต่างๆ เช่น TDP (PL1, PL2 เป็นต้น)

ใน Linux กลไกเหล่านี้ได้รับการควบคุมโดยระบบย่อย เช่น cpufreq y cpuidleสามารถตรวจสอบความถี่ที่ใช้งานของตัวควบคุมได้โดยใช้คำสั่งเช่น cpupower frequency-info หรือการตรวจสอบไฟล์ใน /sys/devices/system/cpu/cpu*/cpufreq/โดยจะแสดงข้อมูลต่างๆ เช่น ความถี่ปัจจุบัน ความถี่สูงสุดและต่ำสุด และค่าความถี่ที่ใช้งานได้ (การปฏิบัติ, ประหยัดพลังงาน, ตามความต้องการ, อนุรักษ์นิยมฯลฯ) และไดรเวอร์ที่ใช้

แม้ว่าทั้งหมดนี้อาจดูเหมือนไม่เกี่ยวข้องกับ ASPM แต่จริงๆ แล้วมันเป็นส่วนหนึ่งของระบบนิเวศ ACPI เดียวกัน นั่นคือเลเยอร์และกลไกต่างๆ ที่ทำงานร่วมกันเพื่อปรับการใช้พลังงานและประสิทธิภาพของ CPU อุปกรณ์ และลิงก์ระบบ รวมถึง PCIe

การใช้งานจริงของ ASPM: BIOS/UEFI, ระบบปฏิบัติการและไดรเวอร์

เพื่อให้ ASPM ทำงานได้อย่างถูกต้อง จำเป็นต้องอาศัยความร่วมมือจากสามส่วนหลักได้แก่ เฟิร์มแวร์ของเมนบอร์ด (BIOS/UEFI) ระบบปฏิบัติการ และไดรเวอร์อุปกรณ์ PCIe

โดยทั่วไป BIOS/UEFI จะมีตัวเลือก ASPM หรือ Link State Power Management เฉพาะที่ช่วยให้คุณสามารถเปิด ปิด หรือเลือกโหมดเฉพาะ (เช่น L0s, L1, Auto, Off) ได้ สิ่งสำคัญคือเฟิร์มแวร์ต้องใช้งานตาราง ACPI อย่างถูกต้องและอธิบายอย่างแม่นยำว่าอุปกรณ์และลิงก์ PCIe แต่ละตัวรองรับอะไรบ้าง

ระบบปฏิบัติการ (Windows, Linux เป็นต้น) อ่านข้อมูลจาก ACPI และตัดสินใจว่าจะใช้นโยบายใดใน Linux ตามที่กล่าวไว้ ASPM สามารถบังคับหรือปิดใช้งานได้โดยใช้พารามิเตอร์เคอร์เนลหรือผ่านไฟล์นโยบายของโมดูล pcie_aspmใน Windows การจัดการจะถูกรวมไว้ในแผนการใช้พลังงานและในตัวเลือก “PCI Express → การจัดการพลังงานสถานะลิงก์”

ไดรเวอร์อุปกรณ์ PCIe ก็มีบทบาทสำคัญเช่นกันเพื่อให้สามารถใช้งาน ASPM ได้อย่างราบรื่น ไดรเวอร์เหล่านี้ต้องมีคุณสมบัติดังต่อไปนี้:

  • ประกาศความสามารถในการประหยัดพลังงานของอุปกรณ์อย่างถูกต้อง (รองรับอะไรบ้าง เวลาแฝงที่ยอมรับได้ ฯลฯ)
  • จัดการการเปลี่ยนแปลงสถานะอย่างเหมาะสมป้องกันไม่ให้อุปกรณ์ "หยุดทำงาน" หรือใช้เวลานานเกินไปในการตอบสนองเมื่อออกจากสถานะพลังงานต่ำ
  • การติดตามข้อมูลล่าสุดเนื่องจากผู้ผลิตหลายรายแก้ไขข้อผิดพลาด ASPM และเพิ่มประสิทธิภาพการใช้งานผ่านการอัปเดตไดรเวอร์หรือเฟิร์มแวร์

ในบางกรณี ผู้ผลิตได้เผยแพร่ไดรเวอร์ที่ปรับเปลี่ยนเพื่อปิดใช้งาน ASPM บนรุ่นที่มีปัญหาถือเป็น "วิธีแก้ปัญหา" ที่ใช้งานได้จริงสำหรับข้อบกพร่องของฮาร์ดแวร์ กรณีนี้เกิดขึ้นกับ NIC ของ Intel บางรุ่นใน Linux ซึ่งเวอร์ชันที่ได้รับการแก้ไขแล้ว e1000e ASPM ถูกปิดการใช้งานเพื่อหลีกเลี่ยงปัญหาการสูญเสียการส่งข้อมูล

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

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

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

Input Lag คืออะไร และส่งผลต่อเกมบน Windows 11 อย่างไร
บทความที่เกี่ยวข้อง:
วิธีลดความล่าช้าในการป้อนข้อมูลใน Windows 11: คู่มือปฏิบัติที่สมบูรณ์

เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google