อ่าน 7 นาที
ส่วนขยายการซิงโครไนซ์ธุรกรรม
ส่วนขยายการซิงโครไน ซ์ธุรกรรม ( TSX ) หรือที่เรียกว่าคำสั่งส่วนขยายการซิงโครไนซ์ธุรกรรมใหม่ ( TSX -NI ) เป็นส่วนขยายของสถาปัตยกรรมชุดคำสั่งx86 (ISA) ที่เพิ่ม การสนับสนุน...
ส่วนขยายการซิงโครไนซ์ธุรกรรม
ส่วนขยายการซิงโครไน ซ์ธุรกรรม ( TSX ) หรือที่เรียกว่าคำสั่งส่วนขยายการซิงโครไนซ์ธุรกรรมใหม่ ( TSX -NI ) เป็นส่วนขยายของสถาปัตยกรรมชุดคำสั่งx86 (ISA) ที่เพิ่ม การสนับสนุน หน่วยความจำธุรกรรม ฮาร์ดแวร์ ซึ่งช่วยเร่งความเร็วในการทำงานของซอฟต์แวร์แบบมัลติเธรดผ่านการละเว้นการล็อก จากการทดสอบประสิทธิภาพต่างๆ พบว่า TSX/TSX-NI สามารถเร่งความเร็วในการทำงานของแอปพลิเคชันได้ประมาณ 40% ในงานเฉพาะบางอย่าง และประมวลผลธุรกรรมฐานข้อมูลต่อวินาที (TPS) ได้มากขึ้น 4-5 เท่า [ 1 ] [ 2 ] [ 3 ] [ 4 ]
TSX/TSX-NI ได้รับการบันทึกโดยIntelในเดือนกุมภาพันธ์ 2012 และเปิดตัวในเดือนมิถุนายน 2013 บนไมโครโปรเซสเซอร์ Intel บางรุ่น ที่ใช้สถาปัตยกรรมHaswell [ 5 ] [ 6 ] [ 7 ] โปรเซสเซอร์ Haswell ที่ต่ำกว่า 45xx รวมถึง SKU ซีรี่ส์ R และซีรี่ส์ K (ที่มีตัวคูณปลดล็อค) ไม่รองรับ TSX/TSX-NI [ 8 ]ในเดือนสิงหาคม 2014 Intel ประกาศข้อบกพร่องในการใช้งาน TSX/TSX-NI บนซีพียู Haswell, Haswell-E, Haswell-EP และBroadwell รุ่นแรกๆ ซึ่งส่งผลให้ต้องปิดใช้งานคุณสมบัติ TSX/TSX-NI บนซีพียูที่ได้รับผลกระทบผ่านการอัปเดตไมโครโค้ด[ 9 ] [ 10 ]
ในปี 2016 มีการค้นพบ การโจมตีแบบกำหนดเวลาช่องทางด้านข้าง โดยการใช้ประโยชน์จากวิธีที่ TSX/TSX-NI จัดการข้อผิดพลาดในการทำธุรกรรม (เช่นข้อผิดพลาดของเพจ ) เพื่อทำลายการสุ่มเค้าโครงพื้นที่ที่อยู่เคอร์เนล (KASLR) บนระบบปฏิบัติการหลักทั้งหมด[ 11 ] ในปี 2021 Intel ได้ออกการอัปเดตไมโครโค้ดที่ปิดใช้งานคุณสมบัติ TSX/TSX-NI บนซีพียูรุ่นตั้งแต่SkylakeถึงCoffee Lakeเพื่อเป็นการบรรเทาปัญหาด้านความปลอดภัยที่ค้นพบ[ 12 ]
แม้ว่า TSX/TSX-NI จะไม่ได้รับการสนับสนุนในโปรเซสเซอร์ระดับเดสก์ท็อปอีกต่อไป แต่ก็ยังคงได้รับการสนับสนุนใน ตระกูลโปรเซสเซอร์ Xeon (อย่างน้อยก็ในรุ่นเฉพาะ ตั้งแต่รุ่นที่ 6 เป็นต้นไป) [ 13 ]
การสนับสนุนการจำลอง TSX/TSX-NI มีให้เป็นส่วนหนึ่งของ Intel Software Development Emulator [ 14 ] นอกจากนี้ยังมีการสนับสนุนการจำลอง TSX/TSX-NI แบบทดลองในQEMUเวอร์ชันแยก[ 15 ]
คุณสมบัติ
TSX/TSX-NI มีอินเทอร์เฟซซอฟต์แวร์สองแบบสำหรับการกำหนดขอบเขตโค้ดสำหรับการดำเนินการแบบธุรกรรมHardware Lock Elision (HLE) เป็นอินเทอร์เฟซแบบอิงตามคำนำหน้าคำสั่งที่ออกแบบมาให้เข้ากันได้กับโปรเซสเซอร์ที่ไม่มีการสนับสนุน TSX/TSX-NI Restricted Transactional Memory (RTM) เป็นอินเทอร์เฟซชุดคำสั่งใหม่ที่ให้ความยืดหยุ่นมากขึ้นสำหรับโปรแกรมเมอร์[ 16 ]
TSX/TSX-NI ช่วยให้สามารถดำเนินการส่วนของโค้ดธุรกรรมได้อย่างมองโลกในแง่ดี ฮาร์ดแวร์จะตรวจสอบเธรดหลายเธรดเพื่อหาการเข้าถึงหน่วยความจำที่ขัดแย้งกัน ในขณะเดียวกันก็จะยกเลิกและย้อนกลับธุรกรรมที่ไม่สามารถดำเนินการให้เสร็จสมบูรณ์ได้สำเร็จ มีกลไกให้ซอฟต์แวร์ตรวจจับและจัดการธุรกรรมที่ล้มเหลว[ 16 ]
ฮาร์ดแวร์ล็อค Elision
Hardware Lock Elision (HLE) เพิ่มคำนำหน้าคำสั่งใหม่สองคำ คือXACQUIREและXRELEASEคำนำหน้าทั้งสองนี้ใช้รหัสคำสั่งซ้ำของ คำนำหน้า REPNE/ ที่มีอยู่ REPE( F2H/ F3H) บนโปรเซสเซอร์ที่ไม่รองรับ HLE คำนำหน้า REPNE/ REPEจะถูกละเว้นในคำสั่งที่XACQUIRE/ XRELEASEถูกต้อง จึงทำให้สามารถใช้งานร่วมกันได้กับเวอร์ชันก่อนหน้า[ 17 ]
คำXACQUIREแนะนำคำนำหน้าสามารถใช้ได้เฉพาะกับคำสั่งต่อไปนี้ที่มีLOCKคำนำหน้าอย่างชัดเจน: ADD, ADC, AND, BTC, BTR, BTS, CMPXCHG, CMPXCHG8B, DEC, INC, NEG, NOT, OR, SBB, SUB, XOR, XADD, และ คำสั่ง XCHGนี้XCHGสามารถใช้ได้โดยไม่ต้องมีLOCKคำนำหน้าเช่นกัน
คำนำXRELEASEหน้าคำแนะนำสามารถใช้ได้ทั้งกับคำแนะนำที่ระบุไว้ข้างต้น และกับคำแนะนำ MOV mem, regอื่นๆ ด้วยMOV mem, imm
HLE อนุญาตให้ดำเนินการส่วนวิกฤตได้อย่างมองโลกในแง่ดีโดยการข้ามการเขียนไปยังล็อก ทำให้ล็อกนั้นดูเหมือนว่างสำหรับเธรดอื่น การทำธุรกรรมล้มเหลวจะส่งผลให้การดำเนินการเริ่มต้นใหม่จากXACQUIREคำสั่งที่มีคำนำหน้า แต่จะถือว่าคำสั่งนั้นXACQUIREไม่มีคำนำหน้าอยู่
กล่าวอีกนัยหนึ่ง การหลีกเลี่ยงการล็อกผ่านการดำเนินการแบบธุรกรรมจะใช้ธุรกรรมในหน่วยความจำเพื่อเป็นเส้นทางที่รวดเร็วที่สุดเท่าที่จะเป็นไปได้ ในขณะที่เส้นทางที่ช้ากว่า (เส้นทางสำรอง) ยังคงเป็นการล็อกแบบปกติ
หน่วยความจำธุรกรรมที่จำกัด
หน่วยความจำธุรกรรมแบบจำกัด (Restricted Transactional Memory หรือ RTM) เป็นวิธีการใช้งานทางเลือกแทน HLE ซึ่งช่วยให้นักเขียนโปรแกรมมีความยืดหยุ่นในการระบุเส้นทางการทำงานของโค้ดสำรองที่จะถูกเรียกใช้เมื่อไม่สามารถดำเนินการธุรกรรมได้อย่างสำเร็จ แตกต่างจาก HLE RTM ไม่สามารถใช้งานร่วมกับโปรเซสเซอร์ที่ไม่รองรับได้ เพื่อให้สามารถใช้งานร่วมกับโปรเซสเซอร์รุ่นเก่าได้ โปรแกรมจะต้องตรวจสอบว่า CPU รองรับ RTM ก่อนที่จะใช้คำสั่งใหม่
RTM เพิ่มคำสั่งใหม่สามคำสั่ง ได้แก่XBEGIN, XENDและXABORTคำ สั่ง XBEGINและXENDระบุจุดเริ่มต้นและจุดสิ้นสุดของพื้นที่โค้ดธุรกรรมXABORTคำสั่ง ยกเลิกธุรกรรมโดยชัดเจน ความล้มเหลวของธุรกรรมจะเปลี่ยนเส้นทางโปรเซสเซอร์ไปยังเส้นทางโค้ดสำรองที่ระบุโดยXBEGINคำสั่ง โดยสถานะการยกเลิกจะถูกส่งกลับไปยังEAXรีจิสเตอร์
| ตำแหน่งบิตของรีจิสเตอร์ EAX | ความหมาย |
|---|---|
| 0 | ตั้งค่าหากการยกเลิกเกิดจากXABORTคำสั่ง |
| 1 | หากตั้งค่าไว้ การทำธุรกรรมอาจสำเร็จในการลองใหม่ บิตนี้จะเป็นค่าว่างเสมอหากบิต 0 ถูกตั้งค่าไว้ |
| 2 | ตั้งค่าหากโปรเซสเซอร์เชิงตรรกะอื่นขัดแย้งกับที่อยู่หน่วยความจำที่เป็นส่วนหนึ่งของธุรกรรมที่ถูกยกเลิก |
| 3 | ตั้งค่าหากบัฟเฟอร์ภายในล้น |
| 4 | ตั้งค่าว่ามีการเรียกใช้เบรกพอยต์สำหรับการดีบักหรือไม่ |
| 5 | ตั้งค่าหากมีการยกเลิกเกิดขึ้นระหว่างการดำเนินการของธุรกรรมแบบซ้อนกัน |
| 23:6 | ที่สงวนไว้. |
| 31:24 | XABORTอาร์กิวเมนต์ (ใช้ได้เฉพาะเมื่อบิต 0 ถูกตั้งค่า มิฉะนั้นจะสงวนไว้) |
XTESTคำแนะนำ
TSX/TSX-NI มีคำสั่งใหม่XTESTที่ตรวจสอบว่าโปรเซสเซอร์กำลังประมวลผลส่วนธุรกรรมอยู่หรือไม่ คำสั่งนี้ได้รับการสนับสนุนโดยโปรเซสเซอร์หากรองรับ HLE หรือ RTM หรือทั้งสองอย่าง
การติดตามที่อยู่การระงับการโหลด TSX
TSX/TSX-NI Suspend Load Address Tracking (TSXLDTRK) เป็นส่วนขยายของชุดคำสั่งที่อนุญาตให้ปิดใช้งานการติดตามการโหลดจากหน่วยความจำชั่วคราวในส่วนของโค้ดภายในขอบเขตธุรกรรม คุณสมบัตินี้ขยายมาจาก HLE และ RTM และต้องตรวจจับการรองรับในโปรเซสเซอร์แยกต่างหาก
TSXLDTRK นำเสนอคำสั่งใหม่สองคำสั่ง คือXSUSLDTRKและXRESLDTRKสำหรับระงับและดำเนินการต่อการติดตามที่อยู่การโหลดตามลำดับ ในขณะที่การติดตามถูกระงับ การโหลดใดๆ จากหน่วยความจำจะไม่ถูกเพิ่มเข้าไปในชุดการอ่านของธุรกรรม ซึ่งหมายความว่า เว้นแต่ว่าตำแหน่งหน่วยความจำเหล่านี้จะถูกเพิ่มเข้าไปในชุดการอ่านหรือการเขียนของธุรกรรมภายนอกขอบเขตการระงับ การเขียนที่ตำแหน่งเหล่านี้โดยเธรดอื่นๆ จะไม่ทำให้ธุรกรรมถูกยกเลิก การระงับการติดตามที่อยู่การโหลดสำหรับส่วนหนึ่งของโค้ดภายในขอบเขตธุรกรรมจะช่วยลดปริมาณหน่วยความจำที่ต้องติดตามสำหรับความขัดแย้งในการอ่านและเขียน และด้วยเหตุนี้จึงเพิ่มโอกาสในการยืนยันธุรกรรมสำเร็จ
การดำเนินการ
ข้อกำหนด TSX/TSX-NI ของ Intel อธิบายถึงวิธีการเปิดเผยหน่วยความจำธุรกรรมให้กับโปรแกรมเมอร์ แต่ไม่ได้ให้รายละเอียดเกี่ยวกับการใช้งานหน่วยความจำธุรกรรมจริง[ 18 ] Intel ระบุในคู่มือสำหรับนักพัฒนาและคู่มือการเพิ่มประสิทธิภาพว่า Haswell รักษาทั้งชุดการอ่านและชุดการเขียนที่ระดับความละเอียดของแคชไลน์ โดยติดตามที่อยู่ในแคชข้อมูล L1 ของโปรเซสเซอร์[ 19 ] [ 20 ] [ 21 ] [ 22 ] Intel ยังระบุด้วยว่าความขัดแย้งของข้อมูลจะถูกตรวจพบผ่านโปรโตคอลความสอดคล้องของแคช[ 20 ]
แคชข้อมูล L1 ของ Haswell มีความสัมพันธ์แปด ซึ่งหมายความว่าในการใช้งานนี้ การดำเนินการธุรกรรมที่เขียนไปยังตำแหน่งที่แตกต่างกันเก้าตำแหน่งที่แมปกับชุดแคชเดียวกันจะถูกยกเลิก อย่างไรก็ตาม เนื่องจากการใช้งานสถาปัตยกรรมระดับไมโคร นี่ไม่ได้หมายความว่าการเข้าถึงชุดเดียวกันน้อยลงจะรับประกันได้ว่าจะไม่ถูกยกเลิก นอกจากนี้ ในการกำหนดค่า CPU ที่มีเทคโนโลยี Hyper-Threadingแคช L1 จะถูกใช้ร่วมกันระหว่างสองเธรดบนคอร์เดียวกัน ดังนั้นการดำเนินการในโปรเซสเซอร์เชิงตรรกะที่เป็นพี่น้องของคอร์เดียวกันอาจทำให้เกิดการขับไล่[ 20 ]
งานวิจัยอิสระชี้ให้เห็นว่าหน่วยความจำธุรกรรมของ Haswell มีแนวโน้มที่จะเป็นระบบอัปเดตแบบเลื่อนออกไปโดยใช้แคชต่อคอร์สำหรับข้อมูลธุรกรรมและจุดตรวจสอบรีจิสเตอร์[ 18 ] กล่าวอีกนัยหนึ่ง Haswell มีแนวโน้มที่จะใช้ระบบหน่วยความจำธุรกรรมแบบแคช เนื่องจากเป็นทางเลือกในการใช้งานที่มีความเสี่ยงน้อยกว่ามาก ในทางกลับกันSkylake ของ Intel หรือรุ่นต่อๆ ไปอาจรวมวิธีการแบบแคชนี้เข้ากับบัฟเฟอร์การเรียงลำดับหน่วยความจำ (MOB) เพื่อจุดประสงค์เดียวกัน และอาจให้หน่วยความจำธุรกรรมแบบหลายเวอร์ชันที่เหมาะสมกับการทำงาน แบบมัลติเธรดเชิงคาดการณ์มากกว่า[ 23 ]
ประวัติและข้อผิดพลาด
บั๊ก Haswell และ Broadwell (2014)
ในเดือนสิงหาคม พ.ศ. 2557 Intel ประกาศว่ามีข้อบกพร่องในการใช้งาน TSX/TSX-NI บนซีพียู Haswell, Haswell-E, Haswell-EP และ Broadwell รุ่นแรกๆ ซึ่งส่งผลให้ต้องปิดใช้งานคุณสมบัติ TSX/TSX-NI บนซีพียูที่ได้รับผลกระทบผ่านการอัปเดตไมโครโค้ด[ 9 ] [ 10 ] [ 24 ] ข้อบกพร่องดังกล่าวได้รับการแก้ไขในรุ่น F-0 ของซีพียู Core M-5Y70 Broadwell ที่เปิดใช้งาน vPro ในเดือนพฤศจิกายน พ.ศ. 2557 [ 25 ]
บั๊กดังกล่าวถูกค้นพบและรายงานในระหว่างการทำวิทยานิพนธ์ระดับปริญญาตรีในคณะวิศวกรรมไฟฟ้าและคอมพิวเตอร์ของมหาวิทยาลัยเทคนิคแห่งชาติเอเธนส์[ 26 ]
บั๊ก Skylake (2018)
ในเดือนตุลาคม พ.ศ. 2561 Intel ได้เปิดเผยปัญหาการเรียงลำดับหน่วยความจำ TSX/TSX-NI ที่พบในโปรเซสเซอร์Skylake บางรุ่น [ 27 ]อันเป็นผลมาจากการอัปเดตไมโครโค้ด การสนับสนุน HLE จึงถูกปิดใช้งานใน CPU ที่ได้รับผลกระทบ และ RTM ได้รับการแก้ไขโดยการลดตัวนับประสิทธิภาพลงหนึ่งตัวเมื่อใช้งานนอกโหมด Intel SGXหรือโหมดการจัดการระบบ ( SMM ) ซอฟต์แวร์ระบบจะต้องปิดใช้งาน RTM อย่างมีประสิทธิภาพหรืออัปเดตเครื่องมือตรวจสอบประสิทธิภาพเพื่อไม่ให้ใช้ตัวนับประสิทธิภาพที่ได้รับผลกระทบ
ช่องโหว่ TAA (2021)
ในเดือนมิถุนายน พ.ศ. 2564 Intel ได้เผยแพร่การอัปเดตไมโครโค้ดที่ปิดใช้งาน TSX/TSX-NI เพิ่มเติมในโปรเซสเซอร์ Xeon และ Core รุ่นต่างๆ ตั้งแต่SkylakeไปจนถึงCoffee LakeและWhiskey Lakeเพื่อบรรเทาช่องโหว่ TSX Asynchronous Abort (TAA) การแก้ไขปัญหาลำดับหน่วยความจำก่อนหน้านี้ถูกลบออก[ 28 ]โดยค่าเริ่มต้น ด้วยไมโครโค้ดที่อัปเดตแล้ว โปรเซสเซอร์จะยังคงแสดงการสนับสนุน RTM แต่จะยกเลิกธุรกรรมเสมอ ซอฟต์แวร์ระบบสามารถตรวจจับโหมดการทำงานนี้และซ่อนการสนับสนุน TSX/TSX-NI จากCPUIDคำสั่ง ป้องกันไม่ให้แอปพลิเคชันตรวจจับ TSX/TSX-NI ซอฟต์แวร์ระบบอาจเปิดใช้งาน "โหมดการพัฒนาซอฟต์แวร์ที่ไม่รองรับ" ซึ่ง RTM ทำงานอย่างเต็มที่ แต่ในกรณีนี้ การใช้งาน RTM อาจมีปัญหาตามที่อธิบายไว้ก่อนหน้านี้ ดังนั้นจึงไม่ควรเปิดใช้งานโหมดนี้ในระบบการผลิต ในบางระบบ RTM ไม่สามารถเปิดใช้งานใหม่ได้เมื่อ SGX ทำงาน HLE จะถูกปิดใช้งานเสมอ
สถานะปัจจุบัน
ตามคู่มือสำหรับนักพัฒนาซอฟต์แวร์สถาปัตยกรรม Intel 64 และ IA-32 ฉบับเดือนพฤษภาคม 2020 เล่มที่ 1 บทที่ 2.5 สถาปัตยกรรมชุดคำสั่ง Intel และคุณสมบัติที่ถูกลบออก[ 19 ] HLE ถูกลบออกจากผลิตภัณฑ์ Intel ที่วางจำหน่ายในปี 2019 และหลังจากนั้น RTM ไม่ได้ถูกบันทึกว่าถูกลบออก อย่างไรก็ตาม โปรเซสเซอร์ไคลเอ็นต์ Intel เจเนอเรชั่นที่ 10 Comet LakeและIce Lakeซึ่งวางจำหน่ายในปี 2020 ไม่รองรับ TSX/TSX-NI [ 29 ] [ 30 ] [ 31 ] [ 32 ] [ 33 ]รวมถึงทั้ง HLE และ RTM เวอร์ชันวิศวกรรมของโปรเซสเซอร์ Comet Lake ยังคงรองรับ TSX/TSX-NI อยู่
ในเอกสารอ้างอิงการเขียนโปรแกรมส่วนขยายชุดคำสั่งสถาปัตยกรรม Intel ฉบับแก้ไข 41 จากเดือนตุลาคม 2020 [ 34 ]มีการบันทึกส่วนขยายชุดคำสั่ง TSXLDTRK ใหม่ไว้ โดยเริ่มแรกมีการรวมไว้ใน โปรเซสเซอร์ Sapphire Rapidsที่วางจำหน่ายในเดือนมกราคม 2023
ดูเพิ่มเติม
- เทคโนโลยี Advanced Synchronization Facility – เทคโนโลยีคู่แข่งของ AMD
อ่านเพิ่มเติม
- Afek, Y.; Levy, A.; Morrison, A. (2014). รายงานการประชุมสัมมนา ACM ประจำปี 2014 เรื่องหลักการของการประมวลผลแบบกระจาย - PODC '14การขจัดปัญหาการล็อกฮาร์ดแวร์ที่ปรับปรุงด้วยซอฟต์แวร์ หน้า 212. doi : 10.1145/2611462.2611482 . ISBN 9781450329446. S2CID 16645370 .การปรับปรุงซอฟต์แวร์เพื่อขจัดข้อจำกัดของฮาร์ดแวร์ใน Intel TSX
ลิงก์ภายนอก
- เอกสารนำเสนอจากงาน IDF 2012 (PDF)
- การเพิ่มการตัดส่วนล็อกลงในลินุกซ์การประชุม Linux Plumbers Conference 2012 (PDF)
- การกำจัดการล็อคในไลบรารี GNU C , LWN.net , 30 มกราคม 2556 โดย Andi Kleen
- คู่มือการเพิ่มประสิทธิภาพ TSXบทที่ 12 (PDF)
- คู่มือสำหรับนักพัฒนาซอฟต์แวร์เล่ม 1 บทที่ 2.5 (PDF)
- แหล่งข้อมูลบนเว็บเกี่ยวกับส่วนขยายการซิงโครไนซ์ธุรกรรมของ Intel
- x86, ไมโครโค้ด: ข้อผิดพลาด: การอัปเดตไมโครโค้ดที่เปลี่ยนแปลง x86_capability , LKML , กันยายน 2014 (มีรายงานข้อผิดพลาดที่คล้ายกัน อีกฉบับหนึ่งด้วย )
- ไมโครโค้ดของ Intel , Gentoo, 19 กันยายน 2015
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ส่วนขยายการซิงโครไนซ์ธุรกรรม
ส่วนขยายการซิงโครไน ซ์ธุรกรรม ( TSX ) หรือที่เรียกว่าคำสั่งส่วนขยายการซิงโครไนซ์ธุรกรรมใหม่ ( TSX -NI ) เป็นส่วนขยายของสถาปัตยกรรมชุดคำสั่งx86 (ISA) ที่เพิ่ม การสนับสนุน...
คุณสมบัติ
TSX/TSX-NI มีอินเทอร์เฟซซอฟต์แวร์สองแบบสำหรับการกำหนดขอบเขตโค้ดสำหรับการดำเนินการแบบธุรกรรม Hardware Lock Elision (HLE) เป็นอินเทอร์เฟซแบบอิงตามคำนำหน้าคำสั่งที่ออกแบบมาให้เข้ากันได้กับโปรเซสเซอร์ที่ไม่มีการสนับสนุน TSX/TSX-NI Restricted Transactional Memory...
ฮาร์ดแวร์ล็อค Elision
Hardware Lock Elision (HLE) เพิ่มคำนำหน้าคำสั่งใหม่สองคำ คือ XACQUIRE และ XRELEASE คำนำหน้าทั้งสองนี้ใช้ รหัสคำสั่งซ้ำ ของ คำนำหน้า REPNE / ที่มีอยู่ REPE ( F2H / F3H ) บนโปรเซสเซอร์ที่ไม่รองรับ HLE คำนำหน้า REPNE / REPE จะถูกละเว้นในคำสั่งที่ XACQUIRE /...
หน่วยความจำธุรกรรมที่จำกัด
หน่วยความจำธุรกรรมแบบจำกัด (Restricted Transactional Memory หรือ RTM) เป็นวิธีการใช้งานทางเลือกแทน HLE ซึ่งช่วยให้นักเขียนโปรแกรมมีความยืดหยุ่นในการระบุเส้นทางการทำงานของโค้ดสำรองที่จะถูกเรียกใช้เมื่อไม่สามารถดำเนินการธุรกรรมได้อย่างสำเร็จ แตกต่างจาก HLE RTM...