อ่าน 6 นาที
รีจิสเตอร์ควบคุม
รี จิสเตอร์ควบคุม (Control Register) คือ รีจิสเตอร์ของโปรเซสเซอร์ ที่เปลี่ยนแปลงหรือควบคุมพฤติกรรมโดยทั่วไปของ ซีพียู หรืออุปกรณ์ดิจิทัลอื่นๆ งานทั่วไปที่รีจิสเตอร์ควบคุมทำ...
รีจิสเตอร์ควบคุม
รีจิสเตอร์ควบคุม (Control Register)คือรีจิสเตอร์ของโปรเซสเซอร์ที่เปลี่ยนแปลงหรือควบคุมพฤติกรรมโดยทั่วไปของซีพียูหรืออุปกรณ์ดิจิทัลอื่นๆ งานทั่วไปที่รีจิสเตอร์ควบคุมทำ ได้แก่การควบคุมการขัดจังหวะ การสลับ โหมดการกำหนดแอดเดรส การควบคุม การแบ่งหน้าหน่วยความจำและการควบคุม โคโปรเซสเซอร์
ประวัติศาสตร์
CPU รุ่นแรกขาดรีจิสเตอร์ควบคุมเฉพาะ และอาศัยชุดสัญญาณและแฟล็กภายในที่มีจำกัด[ 1 ] เมื่อ IBM พัฒนา System /360เวอร์ชันเพจจิ้ง[หมายเหตุ 1 ]พวกเขาได้เพิ่มรีจิสเตอร์ควบคุม 16 ตัว[ 2 ] [ 3 ]ลงในการออกแบบสำหรับสิ่งที่กลายเป็น360/67 IBM ไม่ได้จัดหารีจิสเตอร์ควบคุมในรุ่น S/360 อื่นๆ แต่ทำให้เป็นส่วนประกอบมาตรฐาน[ 4 ]ของSystem/370แม้ว่าจะมีการกำหนดรีจิสเตอร์และบิตที่แตกต่างกันก็ตาม เมื่อ IBM เพิ่มคุณสมบัติใหม่ให้กับสถาปัตยกรรม เช่นDAS , S/370-XA , S/370-ESA , ESA/390พวกเขาได้เพิ่มฟิลด์เพิ่มเติมลงในรีจิสเตอร์ควบคุม ด้วยz/Architecture IBM ได้เพิ่มขนาดรีจิสเตอร์ควบคุมเป็นสองเท่าเป็น 64 บิต
รีจิสเตอร์ควบคุมใน IBM 360/67
บน360/67นั้น CR0 และ CR2 ถูกใช้โดยการแปลงที่อยู่ CR 4-6 ประกอบด้วยแฟล็กต่างๆ รวมถึงมาสก์การขัดจังหวะและโหมดควบคุมแบบขยาย[ 3 ]และ CR 8-14 [ 5 ]ประกอบด้วยการตั้งค่าสวิตช์บนหน่วยการกำหนดค่า 2167
เอ็ม67 ซีอาร์0
รีจิสเตอร์ควบคุม 0 บรรจุที่อยู่ของตารางเซ็กเมนต์สำหรับการแปลงที่อยู่แบบไดนามิก
เอ็ม67 ซีอาร์2
รีจิสเตอร์ควบคุม 2 คือรีจิสเตอร์ที่อยู่ข้อยกเว้นการย้ายตำแหน่ง
เอ็ม67 ซีอาร์4
CR4 คือรีจิสเตอร์มาสก์แบบขยายสำหรับช่องสัญญาณ 0-31 โดยแต่ละบิตคือมาสก์ช่องสัญญาณ 1/0 สำหรับช่องสัญญาณนั้นๆ
เอ็ม67 ซีอาร์5
CR5 สงวนไว้สำหรับรีจิสเตอร์มาสก์แบบขยายสำหรับช่องสัญญาณ 32–63 โดยแต่ละบิตคือมาสก์ช่องสัญญาณ 1/0 สำหรับช่องสัญญาณนั้นๆ
เอ็ม67 ซีอาร์6
CR6 ประกอบด้วยแฟล็กโหมดสองตัว รวมถึงส่วนขยายของบิตมาสก์ PSW
| สนาม | นิดหน่อย | คำอธิบาย |
|---|---|---|
| 0 | 0 | ส่วนขยายหน้ากากตรวจสอบเครื่องจักรสำหรับตัวควบคุมช่องสัญญาณ |
| 1 | 1 | ส่วนขยายหน้ากากตรวจสอบเครื่องจักรสำหรับตัวควบคุมช่องสัญญาณ 1 |
| 2-3 | สงวนไว้สำหรับตัวควบคุมช่องสัญญาณ 2-3 | |
| 4-7 | ยังไม่ได้กำหนด | |
| 8 | 8 | โหมดควบคุมแบบขยาย |
| 9 | 9 | บิตควบคุมการกำหนดค่า |
| 10-23 | ยังไม่ได้กำหนด | |
| 24-31 | การปิดกั้นการขัดจังหวะภายนอก | |
| 24 | ตัวจับเวลา | |
| 25 | ปุ่มขัดจังหวะ | |
| 26 | แจ้งเตือนการทำงานผิดปกติ - CPU 1 (สัญญาณภายนอก 2) | |
| 27 | แจ้งเตือนการทำงานผิดปกติ - CPU 2 (Ext. Sig. 3) | |
| 28 | สงวนสิทธิ์ (ลายเซ็นภายนอก 4) | |
| 29 | สงวนสิทธิ์ (ลายเซ็นภายนอก 5) | |
| 30 | สัญญาณขัดจังหวะภายนอก - CPU 1, 2 (Ext. Sig. 6) | |
| 31 | สงวนสิทธิ์ (ลายเซ็นภายนอก 7) |
เอ็ม67 ซีอาร์8
รีจิสเตอร์ควบคุม 8 ประกอบด้วยการกำหนดหน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 1–4 ให้กับหน่วยประมวลผลกลาง (CPU) และตัวควบคุมช่องสัญญาณ (CC)
| นิดหน่อย | คำอธิบาย |
|---|---|
| 0 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 1 ไปยัง CPU 1 |
| 1 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 1 ไปยัง CPU 2 |
| 2-3 | สงวนไว้สำหรับ CPU 3-4 |
| 4 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 1 ถึง CC 0 |
| 5 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 1 ไปยัง CC 1 |
| 6-7 | สงวนไว้สำหรับ CC 3-4 |
| 8 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 2 ไปยัง CPU 1 |
| 9 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 2 ไปยัง CPU 2 |
| 10-11 | สงวนไว้สำหรับ CPU 3-4 |
| 12 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 2 ไปยัง CC 0 |
| 13 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 2 ไปยัง CC 1 |
| 14-15 | สงวนไว้สำหรับ CC 3-4 |
| 16 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 3 ไปยัง CPU 1 |
| 17 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 3 ไปยัง CPU 2 |
| 18-19 | สงวนไว้สำหรับ CPU 3-4 |
| 20 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 3 ไปยัง CC 0 |
| 21 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 3 ไปยัง CC 1 |
| 22-23 | สงวนไว้สำหรับ CC 3-4 |
| 24 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 4 ไปยัง CPU 1 |
| 25 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 4 ไปยัง CPU 2 |
| 26-27 | สงวนไว้สำหรับ CPU 3-4 |
| 28 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 4 ไปยัง CC 0 |
| 29 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 4 ไปยัง CC 1 |
| 30-31 | สงวนไว้สำหรับ CC 3-4 |
เอ็ม67 ซีอาร์9
รีจิสเตอร์ควบคุม 9 ประกอบด้วยการกำหนดหน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 5–8 ให้กับหน่วยประมวลผลกลาง (CPU) และตัวควบคุมช่องสัญญาณ (CC)
| นิดหน่อย | คำอธิบาย |
|---|---|
| 0 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 5 ไปยัง CPU 1 |
| 1 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 5 ไปยัง CPU 2 |
| 2-3 | สงวนไว้สำหรับ CPU 3-4 |
| 4 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 5 ไปยัง CC 0 |
| 5 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 5 ไปยัง CC 1 |
| 6-7 | สงวนไว้สำหรับ CC 3-4 |
| 8 | หน่วยเก็บข้อมูลโปรเซสเซอร์ 6 ถึง CPU 66 |
| 9 | หน่วยเก็บข้อมูลโปรเซสเซอร์ 6 ไปยัง CPU 2 |
| 10-11 | สงวนไว้สำหรับ CPU 3-4 |
| 12 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 6 ถึง CC 0 |
| 13 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 6 ไปยัง CC 1 |
| 14-15 | สงวนไว้สำหรับ CC 3-4 |
| 16 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 7 ไปยัง CPU 1 |
| 17 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 7 ไปยัง CPU 2 |
| 18-19 | สงวนไว้สำหรับ CPU 3-4 |
| 20 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 7 ไปยัง CC 0 |
| 21 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 7 ไปยัง CC 1 |
| 22-23 | สงวนไว้สำหรับ CC 3-4 |
| 24 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 8 ไปยัง CPU 1 |
| 25 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 8 ไปยัง CPU 2 |
| 26-27 | สงวนไว้สำหรับ CPU 3-4 |
| 28 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 8 ถึง CC 0 |
| 29 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 8 ไปยัง CC 1 |
| 30-31 | สงวนไว้สำหรับ CC 3-4 |
เอ็ม67 ซีอาร์10
รีจิสเตอร์ควบคุม 10 บรรจุรหัสการกำหนดที่อยู่จัดเก็บข้อมูลของโปรเซสเซอร์
| นิดหน่อย | รหัสที่อยู่เริ่มต้นสำหรับ |
|---|---|
| 0-3 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 1 |
| 4-7 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 2 |
| 8-11 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 3 |
| 12-15 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 4 |
| 16-19 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 5 |
| 20-23 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 6 |
| 24-27 | หน่วยจัดเก็บข้อมูลโปรเซสเซอร์ 7 |
| 28-31 | หน่วยประมวลผลและหน่วยความจำ 8 |
เอ็ม67 ซีอาร์11
รีจิสเตอร์ควบคุม 11 ประกอบด้วยการกำหนดค่าตัวควบคุมช่องสัญญาณ (CC)
| นิดหน่อย | คำอธิบาย |
|---|---|
| 0 | CC 0 พร้อมใช้งานบน CPU 1 |
| 1 | CC 0 พร้อมใช้งานบน CPU 2 |
| 2-3 | สงวนไว้สำหรับ CPU 3-4 |
| 4 | CC 1 พร้อมใช้งานบน CPU 1 |
| 5 | CC 1 พร้อมใช้งานบน CPU 2 |
| 6-7 | สงวนไว้สำหรับ CPU 3-4 |
| 8-15 | ยังไม่ได้กำหนด |
| 16 | CPU 1 ถึง CC 0 เท่านั้น |
| 17 | CPU 1 ถึง CC 1 เท่านั้น |
| 18-19 | สงวนไว้สำหรับ CC 2-3 |
| 20 | CPU 2 ถึง CC 0 เท่านั้น |
| 21 | CPU 2 ไปยัง CC 1 เท่านั้น |
| 22-23 | สงวนไว้สำหรับ CC 2-3 |
| 24-31 | ยังไม่ได้กำหนด |
เอ็ม67 ซีอาร์12
CR12 ประกอบด้วยการแบ่งพาร์ติชันหน่วยควบคุม I/O
| นิดหน่อย | หน่วยควบคุมอินพุต/เอาต์พุต | อินเทอร์เฟซ |
|---|---|---|
| 0 | 1 | 1 |
| 1 | 2 | |
| 2 | 2 | 1 |
| 3 | 2 | |
| 4 | 3 | 1 |
| 5 | 2 | |
| 6 | 4 | 1 |
| 7 | 2 | |
| 8 | 5 | 1 |
| 9 | 2 | |
| 10 | 6 | 1 |
| 11 | 2 | |
| 12 | 7 | 1 |
| 13 | 2 | |
| 14 | 8 | 1 |
| 15 | 2 | |
| 16 | 9 | 1 |
| 17 | 2 | |
| 18 | 10 | 1 |
| 19 | 2 | |
| 20 | 11 | 1 |
| 21 | 2 | |
| 22 | 12 | 1 |
| 23 | 2 | |
| 24 | 13 | 1 |
| 25 | 2 | |
| 26 | 14 | 1 |
| 27 | 2 | |
| 28 | 15 | 1 |
| 29 | 2 | |
| 30 | 16 | 1 |
| 31 | 2 |
เอ็ม67 ซีอาร์13
CR13 ประกอบด้วยการแบ่งพาร์ติชันหน่วยควบคุม I/O
| นิดหน่อย | หน่วยควบคุมอินพุต/เอาต์พุต | อินเทอร์เฟซ |
|---|---|---|
| 0 | 17 | 1 |
| 1 | 2 | |
| 2 | 18 | 1 |
| 3 | 2 | |
| 4 | 19 | 1 |
| 5 | 2 | |
| 6 | 20 | 1 |
| 7 | 2 | |
| 8 | 21 | 1 |
| 9 | 2 | |
| 10 | 22 | 1 |
| 11 | 2 | |
| 12 | 23 | 1 |
| 13 | 2 | |
| 14 | 24 | 1 |
| 15 | 2 | |
| 16 | 25 | 1 |
| 17 | 2 | |
| 18 | 26 | 1 |
| 19 | 2 | |
| 20 | 27 | 1 |
| 21 | 2 | |
| 22 | 28 | 1 |
| 23 | 2 | |
| 24 | 29 | 1 |
| 25 | 2 | |
| 26 | 30 | 1 |
| 27 | 2 | |
| 28 | 31 | 1 |
| 29 | 2 | |
| 30 | 32 | 1 |
| 31 | 2 |
เอ็ม67 ซีอาร์14
CR14 มีตัวบ่งชี้อยู่ภายใน
| นิดหน่อย | ตัวบ่งชี้ |
|---|---|
| 0-27 | ยังไม่ได้กำหนด |
| 22 | 2167 เปิดเครื่อง |
| 23 | ยังไม่ได้กำหนด |
| 24 | การควบคุมโดยตรง, CPU 1 |
| 25 | การควบคุมโดยตรง, CPU 2 |
| 26-27 | ยังไม่ได้กำหนด |
| 28 | คำนำหน้า, CPU 1 |
| 29 | คำนำหน้า, CPU 2 |
| 30-31 | ยังไม่ได้กำหนด |
รีจิสเตอร์ควบคุมใน IBM S/390
The control registers of ESA/390[6] on the IBM S/390 are an evolutionary enhancement to the control registers on the earlier ESA/370,[7]S/370-XA[8] and S/370[9] processors. For details on which fields are dependent on specific features, consult the Principles of Operation.[10]
| CR | bits | Field |
|---|---|---|
| 0 | 1 | SSM-suppression |
| 0 | 2 | TOD-clock-sync control |
| 0 | 3 | Low-address-protection control |
| 0 | 4 | Extraction-authority control |
| 0 | 5 | Secondary-space control |
| 0 | 6 | Fetch-protection-override control |
| 0 | 7 | Storage-protection-override control |
| 0 | 8-12 | Translation format |
| 0 | 13 | AFP-register control |
| 0 | 14 | Vector control |
| 0 | 15 | Address-space-function control |
| 0 | 16 | Malfunction-alert subclass mask |
| 0 | 17 | Emergency-signal subclass mask |
| 0 | 18 | External-call subclass mask |
| 0 | 19 | TOD-clock sync-check subclass mask |
| 0 | 20 | Clock-comparator subclass mask |
| 0 | 21 | CPU-timer subclass mask |
| 0 | 22 | Service-signal subclass mask |
| 0 | 24 | Set to 1 |
| 0 | 25 | Interrupt-key subclass mask |
| 0 | 26 | Set to 1 |
| 0 | 27 | ETR subclass mask |
| 0 | 28 | Program-call-fast |
| 0 | 29 | Crypto control |
| 1 | 0 | Primary space-switch-event control |
| 1 | 1-19 | Primary segment-table origin |
| 1 | 22 | Primary subspace-group control |
| 1 | 23 | Primary private-space control |
| 1 | 24 | Primary storage-alteration-event control |
| 1 | 25-31 | Primary segment-table length |
| 2 | 1-25 | Dispatchable-unit-control-table origin |
| 3 | 0-15 | PSW-key mask |
| 3 | 16-31 | Secondary ASN |
| 4 | 0-15 | Authorization index |
| 4 | 16-31 | Primary ASN |
| 5 | 0 | Subsystem-linkage control |
| 5 | 1-24 | Linkage-table origin |
| 5 | 25-31 | Linkage-table length |
| 5 | 1-25 | When the address-space-function control is one,Primary-ASN-second-table-entry |
| 6 | 0-7 | I/O-interruption subclass mask |
| 7 | 1-19 | Secondary segment-table origin |
| 7 | 22 | Secondary subspace-group control |
| 7 | 23 | Secondary private-space control |
| 7 | 24 | Secondary storage-alteration-event control |
| 7 | 25-31 | Secondary segment-table length |
| 8 | 0-15 | Extended authorization index |
| 8 | 16-31 | Monitor masks |
| 9 | 0 | Successful-branching-event mask |
| 9 | 1 | Instruction-fetching-event mask |
| 9 | 2 | Storage-alteration-event mask |
| 9 | 3 | GR-alteration-event mask |
| 9 | 4 | Store-using-real-address-event mask |
| 9 | 8 | Branch-address control |
| 9 | 10 | Storage-alteration-space control |
| 9 | 16-31 | PER general-register masks |
| 10 | 1-31 | PER starting address |
| 11 | 1-31 | PER ending address |
| 12 | 0 | Branch-trace control |
| 12 | 1-29 | Trace-entry address |
| 12 | 30 | ASN-trace control |
| 12 | 31 | Explicit-trace control |
| 13 | 0 | Home space-switch-event control |
| 13 | 1-19 | Home segment-table origin |
| 13 | 23 | Home private-space control |
| 13 | 24 | Home storage-alteration-event control |
| 13 | 25-31 | Home segment-table length |
| 14 | 0 | Set to 1 |
| 14 | 1 | Set to 1 |
| 14 | 2 | Extended-save-area control |
| 14 | 3 | Channel-report-pending subclass mask |
| 14 | 4 | Recovery subclass mask |
| 14 | 5 | Degradation subclass mask |
| 14 | 6 | External-damage subclass mask |
| 14 | 7 | Warning subclass mask |
| 14 | 10 | TOD-clock-control-override control |
| 14 | 12 | ASN-translation control |
| 14 | 13-31 | ASN-first-table origin |
| 15 | 1-28 | Linkage-stack-entry address |
Control registers in IBM z/Architecture
รีจิสเตอร์ควบคุมของz/Architecture [ 11 ]เป็นการปรับปรุงเชิงวิวัฒนาการของรีจิสเตอร์ควบคุมของESA/390 รุ่นก่อนหน้า บน โปรเซสเซอร์ IBM S/390สำหรับรายละเอียดเกี่ยวกับฟิลด์ใดที่ขึ้นอยู่กับคุณสมบัติเฉพาะ โปรดดูหลักการทำงาน[ 12 ] เนื่องจาก z/Architecture ขยายรีจิสเตอร์ควบคุมจาก 32 บิตเป็น 64 บิต การกำหนดหมายเลขบิตจึงแตกต่างจากใน ESA/390
| ซีอาร์ | บิต | สนาม |
|---|---|---|
| 0 | 8 | การควบคุมการดำเนินการธุรกรรม |
| 0 | 9 | การกรองการขัดจังหวะโปรแกรมการดำเนินการธุรกรรมแบบกำหนดเอง |
| 0 | 10 | การควบคุมเครื่องหมายเปรียบเทียบนาฬิกา |
| 0 | 13 | การควบคุมตัวนับการเข้ารหัส |
| 0 | 14 | การควบคุมการขยายการวัดกิจกรรมของโปรเซสเซอร์ |
| 0 | 15 | การควบคุมการอนุญาตการสกัดตัวนับการวัด |
| 0 | 30 | หน้ากากคลาสย่อยติดตามคำเตือน |
| 0 | 32 | การควบคุมนาฬิกา TRACE TOD |
| 0 | 33 | การระงับ SSM |
| 0 | 34 | การควบคุมการซิงค์นาฬิกา TOD |
| 0 | 35 | การควบคุมการป้องกันที่อยู่ต่ำ |
| 0 | 36 | การควบคุมอำนาจการสกัด |
| 0 | 37 | การควบคุมพื้นที่รอง |
| 0 | 38 | การควบคุมการยกเลิกการป้องกันการดึงข้อมูล |
| 0 | 39 | การควบคุมการลบล้างการป้องกันการจัดเก็บข้อมูล |
| 0 | 40 | การควบคุมการเปิดใช้งาน DAT ขั้นสูง |
| 0 | 43 | การควบคุมการเปิดใช้งานการป้องกันการดำเนินการคำสั่ง |
| 0 | 44 | การควบคุมการนำ ASN และ LX กลับมาใช้ใหม่ |
| 0 | 45 | การควบคุมทะเบียน AFP |
| 0 | 46 | การควบคุมการเปิดใช้งานเวกเตอร์ |
| 0 | 48 | หน้ากากคลาสย่อยการแจ้งเตือนการทำงานผิดปกติ |
| 0 | 48 | หน้ากากคลาสย่อยการแจ้งเตือนการทำงานผิดปกติ |
| 0 | 49 | หน้ากากคลาสย่อยสัญญาณฉุกเฉิน |
| 0 | 50 | หน้ากากคลาสย่อยการเรียกภายนอก |
| 0 | 52 | หน้ากากคลาสย่อยตัวเปรียบเทียบนาฬิกา |
| 0 | 53 | หน้ากากคลาสย่อยตัวจับเวลา CPU |
| 0 | 54 | หน้ากากคลาสย่อยสัญญาณบริการ |
| 0 | 56 | กำหนดค่าเริ่มต้นเป็น 1 |
| 0 | 57 | หน้ากากคลาสย่อยของปุ่มขัดจังหวะ |
| 0 | 58 | หน้ากากคลาสย่อยการแจ้งเตือนการวัด |
| 0 | 59 | หน้ากากคลาสย่อยการแจ้งเตือนเวลา |
| 0 | 61 | การควบคุมการเข้ารหัส |
| 1 | 0-51 | องค์ประกอบควบคุมพื้นที่แอดเดรสหลัก (ASCE) จุดเริ่มต้นของตารางภูมิภาคหลักจุดเริ่มต้นของตารางเซกเมนต์หลักจุดเริ่มต้นของโทเค็นพื้นที่จริงหลัก |
| 1 | 54 | การควบคุมกลุ่มพื้นที่ย่อยหลัก |
| 1 | 55 | การควบคุมพื้นที่ส่วนตัวหลัก |
| 1 | 56 | เหตุการณ์การเปลี่ยนแปลงการจัดเก็บหลัก |
| 1 | 57 | การควบคุมเหตุการณ์สวิตช์พื้นที่หลัก |
| 1 | 58 | การควบคุมพื้นที่จริงหลัก |
| 1 | 60-61 | การควบคุมประเภทการกำหนดหลัก |
| 1 | 62-63 | ความยาวตารางหลัก |
| 2 | 33-57 | ที่มาของตารางควบคุมหน่วยที่สามารถจัดส่งได้ |
| 2 | 59 | การควบคุมการเปิดใช้งานสิ่งอำนวยความสะดวกในการจัดเก็บที่มีการรักษาความปลอดภัย |
| 2 | 61 | ขอบเขตการวินิจฉัยธุรกรรม |
| 2 | 62-63 | การควบคุมการวินิจฉัยธุรกรรม |
| 3 | 0-31 | หมายเลขอินสแตนซ์รายการตารางที่สอง ASN รอง |
| 3 | 32-47 | หน้ากากกุญแจ PSW |
| 3 | 48-63 | ASN ระดับมัธยมศึกษา |
| 4 | 0-31 | หมายเลขอินสแตนซ์ ASN หลัก-รายการตารางที่สอง |
| 4 | 32-47 | ดัชนีการอนุญาต |
| 4 | 48-63 | ASN หลัก |
| 5 | 33-57 | ที่มาของรายการตารางที่สองของ ASN หลัก |
| 6 | 32-39 | หน้ากากคลาสย่อยการขัดจังหวะ I/O |
| 7 | 0-51 | องค์ประกอบควบคุมพื้นที่แอดเดรสรอง (ASCE) จุดเริ่มต้นของตารางภูมิภาครองจุดเริ่มต้นของตารางเซกเมนต์รองจุดเริ่มต้นของโทเค็นพื้นที่จริงรอง |
| 7 | 54 | การควบคุมกลุ่มพื้นที่ย่อยรอง |
| 7 | 55 | การควบคุมพื้นที่ส่วนตัวรอง |
| 7 | 56 | การควบคุมเหตุการณ์การเปลี่ยนแปลงการจัดเก็บรอง |
| 7 | 58 | การควบคุมพื้นที่จริงรอง |
| 7 | 60-61 | การควบคุมประเภทการกำหนดรอง |
| 7 | 62-63 | ความยาวโต๊ะรอง |
| 8 | 16-31 | หน้ากากมอนิเตอร์ขั้นสูง |
| 8 | 32-47 | ดัชนีการอนุญาตเพิ่มเติม |
| 8 | 48-63 | หน้ากากมอนิเตอร์ |
| 9 | 32 | หน้ากากเหตุการณ์การแตกสาขาที่ประสบความสำเร็จ |
| 9 | 33 | หน้ากากเหตุการณ์การดึงคำสั่ง |
| 9 | 34 | หน้ากากเหตุการณ์การเปลี่ยนแปลงการจัดเก็บข้อมูล |
| 9 | 35 | หน้ากากเหตุการณ์การเปลี่ยนแปลงคีย์จัดเก็บข้อมูล |
| 9 | 36 | มาสก์เหตุการณ์การจัดเก็บโดยใช้ที่อยู่จริง |
| 9 | 37 | หน้ากากเหตุการณ์การตรวจจับที่อยู่ศูนย์ |
| 9 | 38 | หน้ากากเหตุการณ์สิ้นสุดธุรกรรม |
| 9 | 39 | หน้ากากเหตุการณ์การดึงคำสั่งและการยกเลิก |
| 9 | 40 | การควบคุมที่อยู่สาขา |
| 9 | 41 | การควบคุมการระงับเหตุการณ์ PER |
| 9 | 43 | การควบคุมพื้นที่จัดเก็บและการเปลี่ยนแปลง |
| 10 | 0-63 | ที่อยู่เริ่มต้นต่อ |
| 11 | 0-63 | ที่อยู่สิ้นสุด PER |
| 12 | 0 | การควบคุมการติดตามสาขา |
| 12 | 1 | การควบคุมการติดตามโหมด |
| 12 | 2-61 | ที่อยู่สำหรับติดตามการเข้า |
| 12 | 62 | การควบคุม ASN-trace |
| 12 | 63 | การควบคุมการติดตามแบบชัดเจน |
| 13 | 0-51 | องค์ประกอบควบคุมพื้นที่แอดเดรสหน้าแรก (ASCE) จุดเริ่มต้นของตารางภูมิภาคหน้าแรกจุดเริ่มต้นของตารางเซกเมนต์หน้าแรกจุดเริ่มต้นของโทเค็นพื้นที่จริงหน้าแรก |
| 13 | 55 | การควบคุมพื้นที่ส่วนตัวภายในบ้าน |
| 13 | 56 | กิจกรรมปรับเปลี่ยนพื้นที่จัดเก็บของในบ้าน |
| 13 | 57 | การควบคุมเหตุการณ์สวิตช์พื้นที่ภายในบ้าน |
| 13 | 58 | การควบคุมพื้นที่จริงรอง |
| 13 | 60-61 | การควบคุมประเภทการกำหนดบ้าน |
| 13 | 62-63 | ความยาวโต๊ะบ้าน |
| 14 | 32 | ตั้งค่าเป็น 1 |
| 14 | 33 | ตั้งค่าเป็น 1 |
| 14 | 34 | การควบคุมพื้นที่บันทึกเพิ่มเติม (โหมดความเข้ากันได้กับ ESA/390) เท่านั้น) |
| 14 | 35 | มาสก์คลาสย่อยรายงานช่องที่รอดำเนินการ |
| 14 | 36 | หน้ากากคลาสย่อยการฟื้นตัว |
| 14 | 37 | หน้ากากคลาสย่อยการเสื่อมสภาพ |
| 14 | 38 | หน้ากากคลาสย่อยความเสียหายภายนอก |
| 14 | 39 | หน้ากากคลาสย่อยคำเตือน |
| 14 | 42 | การควบคุมการควบคุมนาฬิกา TOD ที่ถูกแทนที่ |
| 14 | 44 | การควบคุมการแปล ASN |
| 14 | 45-63 | ที่มาของตารางแรกของ ASN |
| 15 | 0-60 | ที่อยู่รายการสแต็กการเชื่อมโยง |
รีจิสเตอร์ควบคุมใน ซีรี่ส์Intel x86
ซีอาร์0
รีจิสเตอร์ CR0 มีความยาว 32 บิตบน โปรเซสเซอร์ 386และรุ่นที่สูงกว่า ส่วนบนโปรเซสเซอร์x64 ใน โหมด long modeนั้น (และรีจิสเตอร์ควบคุมอื่นๆ) จะมีความยาว 64 บิต รีจิสเตอร์ CR0 มีแฟล็กควบคุมต่างๆ ที่ปรับเปลี่ยนการทำงานพื้นฐานของโปรเซสเซอร์ รีจิสเตอร์ CR0 เป็นเวอร์ชัน 32 บิตของรี จิสเตอร์ Machine Status Word (MSW) เดิม ซึ่งรีจิสเตอร์ MSW ได้ถูกขยายเป็นรีจิสเตอร์ควบคุม (Control Register) เมื่อมีการพัฒนาโปรเซสเซอร์ i386 ขึ้นมา
| นิดหน่อย | ชื่อ | ชื่อเต็ม | คำอธิบาย |
|---|---|---|---|
| 0 | พีอี | เปิดใช้งานโหมดป้องกัน | ถ้าเป็น 1 ระบบจะอยู่ในโหมดป้องกันมิฉะนั้น ระบบจะอยู่ในโหมดใช้งานจริง |
| 1 | ส.ส. | ตัวประมวลผลร่วมมอนิเตอร์ | ควบคุมการทำงานร่วมกันของคำสั่ง WAIT/FWAIT กับแฟล็ก TS ใน CR0 |
| 2 | อีเอ็ม | การจำลอง | ถ้าตั้งค่าไว้ แสดงว่าไม่มีหน่วยประมวลผลทศนิยม x87 ถ้าไม่ตั้งค่า แสดงว่ามีหน่วยประมวลผลทศนิยม x87 |
| 3 | ทีเอส | งานเปลี่ยนแล้ว | อนุญาตให้บันทึกบริบทงาน x87 เมื่อมีการสลับงานได้ก็ต่อเมื่อใช้คำสั่ง x87 แล้วเท่านั้น |
| 4 | อีที | ประเภทส่วนขยาย | ในเครื่อง 386 นั้น อนุญาตให้ระบุได้ว่าตัวประมวลผลร่วมทางคณิตศาสตร์ภายนอกเป็นรุ่น80287หรือ80387 |
| 5 | ตะวันออกเฉียงเหนือ | ข้อผิดพลาดเชิงตัวเลข | บน 486 และรุ่นต่อมา ให้เปิดใช้งาน การรายงานข้อผิดพลาดจุดลอยตัว x87 ภายใน เมื่อตั้งค่าไว้ มิฉะนั้นให้เปิดใช้งาน การรายงานข้อผิดพลาดแบบ PCจากหน่วยประมวลผลจุดลอยตัวภายในโดยใช้ตรรกะภายนอก[ 13 ] |
| 16 | ดับเบิลยูพี | ป้องกันการเขียน | เมื่อตั้งค่าแล้ว CPU จะไม่สามารถเขียนไปยังหน้าหน่วยความจำแบบอ่านอย่างเดียวได้เมื่อระดับสิทธิ์เป็น 0 |
| 18 | เช้า | หน้ากากจัดแนว | การตรวจสอบการจัดเรียงจะเปิดใช้งานหากตั้งค่า AM, ตั้งค่าแฟล็ก AC (ใน รีจิสเตอร์ EFLAGS ) และระดับสิทธิ์เป็น 3 |
| 29 | ตะวันตกเฉียงเหนือ | ห้ามเขียนผ่าน | เปิด/ปิดการใช้งานแคชแบบเขียนผ่าน ทั่วโลก |
| 30 | ซีดี | ปิดใช้งานแคช | เปิด/ปิดใช้งานแคชหน่วยความจำทั่วโลก |
| 31 | พีจี | การเรียกเพจ | ถ้าเป็น 1 ให้เปิดใช้งานการแบ่งหน้าเพจและใช้ รีจิสเตอร์ § CR3มิฉะนั้นให้ปิดใช้งานการแบ่งหน้าเพจ |
ซีอาร์1
หน่วยความจำนี้ถูกสงวนไว้ และซีพียูจะแสดงข้อผิดพลาด #UD เมื่อพยายามเข้าถึง
ซีอาร์2
รีจิสเตอร์ CR2 ประกอบด้วยค่าที่เรียกว่า Page Fault Linear Address (PFLA) เมื่อเกิดข้อผิดพลาดในการเข้าถึงหน้าหน่วยความจำ ที่อยู่ของโปรแกรมที่พยายามเข้าถึงจะถูกเก็บไว้ในรีจิสเตอร์ CR2
ซีอาร์3

ใช้เมื่อ เปิดใช้งาน การกำหนดแอดเดรสเสมือนดังนั้นเมื่อบิต PG ถูกตั้งค่าใน CR0 CR3 ช่วยให้โปรเซสเซอร์สามารถแปลงแอดเดรสเชิงเส้นเป็นแอดเดรสทางกายภาพได้โดยการค้นหาไดเร็กทอรีเพจและตารางเพจสำหรับงานปัจจุบัน โดยทั่วไป บิต 20 บิตบนสุดของ CR3 จะกลายเป็นรีจิสเตอร์ฐานไดเร็กทอรีเพจ (PDBR) ซึ่งจัดเก็บแอดเดรสทางกายภาพของไดเร็กทอรีเพจแรก หากบิต PCIDE ในCR4ถูกตั้งค่า บิต 12 บิตล่างสุดจะถูกใช้สำหรับตัวระบุบริบทกระบวนการ (PCID) [ 14 ]
ซีอาร์4
ใช้ในโหมดป้องกันเพื่อควบคุมการทำงานต่างๆ เช่น การรองรับ virtual-8086 การเปิดใช้งานจุดหยุดการทำงาน I/O การขยายขนาดหน้าและข้อยกเว้นการตรวจสอบเครื่อง
| นิดหน่อย | ชื่อ | ชื่อเต็ม | คำอธิบาย |
|---|---|---|---|
| 0 | วีเอ็มอี | ส่วนขยายโหมดเสมือน 8086 | หากตั้งค่าไว้ จะเปิดใช้งานการรองรับแฟล็กการขัดจังหวะเสมือน (VIF) ในโหมด virtual-8086 |
| 1 | พีวีไอ | อินเตอร์รัปต์เสมือนในโหมดป้องกัน | หากตั้งค่าไว้ จะเปิดใช้งานการรองรับแฟล็กการขัดจังหวะเสมือน (VIF) ในโหมดป้องกัน |
| 2 | ทีเอสดี | ปิดใช้งานการประทับเวลา | หากตั้งค่าไว้ คำสั่ง RDTSCจะสามารถดำเนินการได้เฉพาะเมื่ออยู่ในวงแหวนที่ 0เท่านั้น มิเช่นนั้น RDTSC สามารถใช้งานได้ในทุกระดับสิทธิ์ |
| 3 | ดีอี | ส่วนขยายการดีบัก | หากตั้งค่าไว้ จะเปิดใช้งานการหยุดตามรีจิสเตอร์ดีบักเมื่อเข้าถึงพื้นที่ I/O |
| 4 | พีเอสอี | ส่วนขยายขนาดหน้า | หากตั้งค่าไว้ จะเปิดใช้งานโหมดเพจจิ้ง 32 บิต เพื่อใช้เพจขนาดใหญ่ 4 MiB นอกเหนือจากเพจขนาด 4 KiB หากเปิดใช้งาน PAE หรือโปรเซสเซอร์อยู่ในโหมด x86-64 แบบยาวบิตนี้จะถูกละเว้น[ 15 ] |
| 5 | พีเออี | ส่วนขยายที่อยู่ทางกายภาพ | หากตั้งค่าไว้ จะเปลี่ยนรูปแบบตารางเพจเพื่อแปลงที่อยู่เสมือน 32 บิตเป็นที่อยู่ทางกายภาพแบบขยาย 36 บิต |
| 6 | เอ็มซีอี | ข้อผิดพลาดในการตรวจสอบเครื่องจักร | หากตั้งค่าไว้ จะทำให้เกิดการขัดจังหวะการตรวจสอบเครื่องจักร |
| 7 | พีจีอี | เปิดใช้งาน Page Global แล้ว | หากมีการตั้งค่าไว้ การแปลงที่อยู่ (ระเบียน PDE หรือ PTE) อาจใช้ร่วมกันระหว่างพื้นที่ที่อยู่ได้ |
| 8 | พีซีอี | ตัวนับการตรวจสอบประสิทธิภาพเปิดใช้งาน | หากตั้งค่าไว้ RDPMC สามารถทำงานได้ในทุกระดับสิทธิ์ มิเช่นนั้น RDPMC จะสามารถใช้งานได้เฉพาะในริง 0 เท่านั้น |
| 9 | โอเอสเอฟเอ็กซ์เอสอาร์ | ระบบปฏิบัติการรองรับคำสั่ง FXSAVE และ FXRSTOR | หากตั้งค่าไว้ จะเปิดใช้งาน คำสั่ง Streaming SIMD Extensions (SSE) และการบันทึกและกู้คืนข้อมูลอย่างรวดเร็วด้วย FPU |
| 10 | OSXMMEXCPT | ระบบปฏิบัติการรองรับข้อยกเว้นจุดลอยตัว SIMD ที่ไม่ได้ปิดบัง | หากตั้งค่าไว้ จะเปิดใช้งานข้อยกเว้น SSE ที่ไม่ถูกปิดบัง |
| 11 | ยูเอ็มไอพี | การป้องกันคำสั่งในโหมดผู้ใช้ | หากตั้งค่าไว้ คำสั่ง SGDT, SIDT, SLDT, SMSW และ STR จะไม่สามารถดำเนินการได้หาก CPL > 0 [ 14 ] |
| 12 | แอลเอ57 | ที่อยู่เชิงเส้น 57 บิต | หากตั้งค่าไว้ จะเปิดใช้งานการแบ่งหน้าแบบ 5 ระดับ[ 16 ] [ 17 ] : 2–18 |
| 13 | วีเอ็มเอ็กซ์อี | ส่วนขยายเครื่องเสมือนช่วยให้สามารถใช้งานส่วนขยายเครื่องเสมือนได้ | ดูข้อมูล เกี่ยวกับการจำลองเสมือนIntel VT-x x86 |
| 14 | เอสเอ็มเอ็กซ์ | เปิดใช้งานส่วนขยายโหมดปลอดภัย | ดูเทคโนโลยีการดำเนินการที่เชื่อถือได้ (TXT) |
| 15 | [ก] | (ที่สงวนไว้) | ไม่มีข้อมูล |
| 16 | FSGSBASE | เปิดใช้งาน FSGSBASE | หากตั้งค่าไว้ จะเปิดใช้งานคำสั่ง RDFSBASE, RDGSBASE, WRFSBASE และ WRGSBASE |
| 17 | พีซีไอด์ | เปิดใช้งานPCID | หากตั้งค่าไว้ จะเปิดใช้งานตัวระบุบริบทกระบวนการ (PCID) |
| 18 | OSXSAVE | XSAVE และสถานะขยายของโปรเซสเซอร์เปิดใช้งานแล้ว | |
| 19 | KL | เปิดใช้งานตู้เก็บกุญแจ | หากตั้งค่าไว้ จะเปิดใช้งานคำสั่ง AES Key Locker |
| 20 | SMEP [ 20 ] | เปิดใช้งานการป้องกันการดำเนินการในโหมดผู้ดูแลระบบ | หากตั้งค่าไว้ การเรียกใช้โค้ดในวงแหวน ที่สูงกว่า จะทำให้เกิดข้อผิดพลาด |
| 21 | เอสแมป | เปิดใช้งานการป้องกันการเข้าถึงโหมดผู้ดูแลระบบ | หากตั้งค่าไว้ การเข้าถึงข้อมูลในวงแหวนที่สูงกว่าจะทำให้เกิดข้อผิดพลาด[ 21 ] |
| 22 | พีเค | เปิดใช้งานคีย์ป้องกัน | โปรดดูคู่มือสำหรับนักพัฒนาซอฟต์แวร์เกี่ยวกับสถาปัตยกรรม Intel 64 และ IA-32 |
| 23 | ซีอีที | เทคโนโลยีการบังคับใช้การควบคุมการไหล | หากตั้งค่าไว้ จะเปิดใช้งานเทคโนโลยีการบังคับใช้การควบคุมการไหล[ 17 ] : 2–19 |
| 24 | พีเคเอส | เปิดใช้งานคีย์ป้องกันสำหรับหน้าเว็บโหมดผู้ดูแลระบบ | หากตั้งค่าไว้ ที่อยู่เชิงเส้นโหมดผู้ดูแลแต่ละรายการจะเชื่อมโยงกับคีย์ป้องกันเมื่อใช้เพจจิ้งระดับ 4 หรือ 5 [ 17 ] : 2–19 |
| 25 | ยูอินทรี | เปิดใช้งานการขัดจังหวะของผู้ใช้ | หากตั้งค่าไว้ จะเปิดใช้งานการขัดจังหวะระหว่างโปรเซสเซอร์ในโหมดผู้ใช้ รวมถึงคำสั่งและโครงสร้างข้อมูลที่เกี่ยวข้อง |
| 63-26 | ไม่มีข้อมูล | (ที่สงวนไว้) | ไม่มีข้อมูล |
- ^ในร่างแรก ๆ ของ ข้อกำหนด Intel SGXบิตที่ 15 ของ CR4 มีชื่อว่า "CR4.SEE" และถูกอธิบายว่าเป็นบิตเปิดใช้งานคำสั่งเอนเคลฟ SGX [ 18 ]การแก้ไขในภายหลังของข้อกำหนดนี้ได้ลบการอ้างอิงถึงบิตนี้ออกไป [ 19 ]
ซีอาร์5–7
สงวนสิทธิ์ไว้ ใช้ตัวพิมพ์ใหญ่แบบเดียวกับ CR1
รีจิสเตอร์ควบคุมเพิ่มเติมในซีรี่ส์ Intel x86-64
อีเอฟเออร์
Extended Feature Enable Register (EFER) is a model-specific register added in the AMD K6 processor, to allow enabling the SYSCALL/SYSRET instruction, and later for entering and exiting long mode. This register becomes architectural in AMD64 and has been adopted by Intel as IA32_EFER. Its MSR number is 0xC0000080.
| Bit | Purpose |
|---|---|
| 0 | SCE (System Call Extensions) |
| 1 | DPE (AMD K6 only: Data Prefetch Enable) |
| 2 | SEWBED (AMD K6 only: Speculative EWBE# Disable) |
| 3 | GEWBED (AMD K6 only: Global EWBE# Disable) |
| 4 | L2D (AMD K6 only: L2 Cache Disable) |
| 5-7 | Reserved, Read as Zero |
| 8 | LME (Long Mode Enable) |
| 9 | Reserved |
| 10 | LMA (Long Mode Active) |
| 11 | NXE (No-Execute Enable) |
| 12 | SVME (Secure Virtual Machine Enable) |
| 13 | LMSLE (Long Mode Segment Limit Enable) |
| 14 | FFXSR (Fast FXSAVE/FXRSTOR) |
| 15 | TCE (Translation Cache Extension) |
| 16 | Reserved |
| 17 | MCOMMIT (MCOMMIT instruction enable) |
| 18 | INTWB (Interruptible WBINVD/WBNOINVD enable) |
| 19 | Reserved |
| 20 | UAIE (Upper Address Ignore Enable) |
| 21 | AIBRSE (Automatic IBRS Enable) |
| 22–63 | Reserved |
CR8
CR8 is a new register accessible in 64-bit mode using the REX prefix. CR8 is used to prioritize external interrupts and is referred to as the task-priority register (TPR).[15]
The AMD64 architecture allows software to define up to 15 external interrupt-priority classes. Priority classes are numbered from 1 to 15, with priority-class 1 being the lowest and priority-class 15 the highest. CR8 uses the four low-order bits for specifying a task priority and the remaining 60 bits are reserved and must be written with zeros.
System software can use the TPR register to temporarily block low-priority interrupts from interrupting a high-priority task. This is accomplished by loading TPR with a value corresponding to the highest-priority interrupt that is to be blocked. For example, loading TPR with a value of 9 (1001b) blocks all interrupts with a priority class of 9 or less, while allowing all interrupts with a priority class of 10 or more to be recognized. Loading TPR with 0 enables all external interrupts. Loading TPR with 15 (1111b) disables all external interrupts.
The TPR is cleared to 0 on reset.
XCR0 and XSS
XCR0, or Extended Control Register 0, is a control register which is used to toggle the storing or loading of registers related to specific CPU features using the XSAVE/XRSTOR instructions. It is also used with some features to enable or disable the processor's ability to execute their corresponding instructions. It can be changed using the privileged XSETBV read using the unprivileged XGETBV instructions.[22]
| Bit | Name | Enabled Feature | Purpose |
|---|---|---|---|
| 0 | X87 | x87 FPU | x87 FPU/MMX State, must be '1' |
| 1 | SSE | SSE | MXCSR and 16 XMM registers |
| 2 | AVX | AVX | ครึ่งบน 16 ส่วนของทะเบียน YMM [ a ] |
| 3 | BNDREG | เอ็มพีเอ็กซ์ | ทะเบียน BND สี่รายการ |
| 4 | BNDCSR | ทะเบียน BNDCFGU และ BNDSTATUS | |
| 5 | โอพีมาสก์ | เอวีเอ็กซ์-512 | รีจิสเตอร์ k-mask แปดตัว |
| 6 | ZMM_Hi256 | 16 ครึ่งบนของรีจิสเตอร์ ZMM [ b ] | |
| 7 | Hi16_ZMM | รีจิสเตอร์ ZMM "ระดับสูง" จำนวน 16 ตัว (ZMM16 ถึง ZMM31) | |
| 8 | พีที | การติดตามโปรเซสเซอร์ | |
| 9 | พีเคอาร์ยู | กุญแจป้องกัน | ทะเบียน PKRU |
| 10 | พาซิด | ||
| 11 | ซีที_ยู | อินเทล ซีอีที | สแต็กเงาผู้ใช้ |
| 12 | ซีที_เอส | สแต็กเงาของหัวหน้างาน | |
| 13 | เอชดีซี | การหมุนเวียนการทำงานของฮาร์ดแวร์ | |
| 14 | ยูอินทรี | ผู้ใช้ขัดจังหวะ | |
| 15 | แอลบีอาร์ | บันทึกสาขาสุดท้าย | |
| 16 | เอชดับเบิลยูพี | สถานะ P ของฮาร์ดแวร์ | |
| 17 | XTILECFG | อินเทล เอเอ็มเอ็กซ์ | รีจิสเตอร์ TILECFG ขนาด 64 ไบต์ |
| 18 | เอ็กซ์ติเลดาต้า | รีจิสเตอร์ TILE ขนาด 1024 ไบต์ จำนวน 8 ตัว | |
| 19 [ค] | เอพีเอ็กซ์ | อินเทล เอพีเอ็กซ์ | 16 GPR "ระดับสูง" (R16 ถึง R31) |
| 20–63 | ที่สงวนไว้ | ||
- ^บิต 128 บิตล่างของรีจิสเตอร์ YMM ทั้งหมดจะถูกเก็บไว้ในสถานะ SSE
- ^บิต 256 บิตล่างของรีจิสเตอร์ ZMM ตั้งแต่ ZMM0 ถึง ZMM15 จะถูกจัดเก็บในสถานะ SSE และ AVX
- ^แม้ว่า Intel APX จะถูกระบุผ่านบิตที่ 19 ของ XCR0 แต่ในความเป็นจริงแล้วมันถูกเขียนผ่าน XSAVE (รูปแบบที่ไม่ถูกบีบอัด) ในพื้นที่ว่าง 128 ไบต์ที่เหลืออยู่ซึ่ง Intel MPX เคยอยู่
นอกจากนี้ยังมี MSR ชื่อ IA32_XSS ซึ่งอยู่ที่แอดเดรสDA0hIA32_XSS MSR ควบคุมบิตของ XCR0 ซึ่งถือว่าเป็นสถานะ "ผู้ดูแลระบบ" และควรจะมองไม่เห็นสำหรับโปรแกรมทั่วไป มันทำงานร่วมกับคำสั่ง XSAVES และ XRSTORS ที่มีสิทธิ์พิเศษโดยการเพิ่มสถานะผู้ดูแลระบบให้กับข้อมูลที่พวกมันทำงานด้วย กล่าวโดยง่าย หากสถานะ X87 ถูกเปิดใช้งานใน XCR0 และสถานะ PT ถูกเปิดใช้งานใน IA32_XSS คำสั่ง XSAVE จะเก็บเฉพาะสถานะ X87 เท่านั้น ในขณะที่ XSAVES ที่มีสิทธิ์พิเศษจะเก็บทั้งสถานะ X87 และ PT เนื่องจากเป็น MSR จึงสามารถเข้าถึงได้โดยใช้คำสั่ง RDMSR และ WRMSR
| นิดหน่อย | วัตถุประสงค์ |
|---|---|
| 0–7 | สงวนไว้; ต้องเป็น 0 |
| 8 | PT (ช่วยให้สามารถบันทึกและโหลด Processor Trace MSR ได้เก้ารายการ) |
| 10 | สถานะ Processor Address Space ID (PASID) |
| 11 | สถานะผู้ใช้เทคโนโลยีการบังคับใช้การควบคุมการไหล (CET) |
| 12 | เทคโนโลยีควบคุมการบังคับใช้การไหลของโปรแกรม (CET) สถานะผู้ควบคุม |
| 13 | HDC (เปิดใช้งานการบันทึกและโหลด MSR IA32_PM_CTL1) |
| 14 | สถานะการขัดจังหวะของผู้ใช้ (UINTR) |
| 15 | สถานะการบันทึกสาขาสุดท้าย (LBR) |
| 16 | HWP (เปิดใช้งานการบันทึก/โหลด MSR IA32_HWP_REQUEST) |
| 17–63 | สงวนไว้; ต้องเป็น 0 |
ดูเพิ่มเติม
หมายเหตุ
- ^ IBM ไม่เคยจัดส่งรุ่น 360/64 หรือ 360/66 มีเพียงรุ่น 360/67 เท่านั้น
ลิงก์ภายนอก
- คู่มือสำหรับนักพัฒนาซอฟต์แวร์ สถาปัตยกรรม Intel 64 และ IA-32: เล่ม 3A
- คู่มือสำหรับนักพัฒนาซอฟต์แวร์ สถาปัตยกรรม Intel 64 และ IA-32
- เอกสารทางเทคนิค: AMD64
- โลกของไวแอตต์: ไขปริศนาเพนเทียม III (28 พฤษภาคม 1999)
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รีจิสเตอร์ควบคุม
รี จิสเตอร์ควบคุม (Control Register) คือ รีจิสเตอร์ของโปรเซสเซอร์ ที่เปลี่ยนแปลงหรือควบคุมพฤติกรรมโดยทั่วไปของ ซีพียู หรืออุปกรณ์ดิจิทัลอื่นๆ งานทั่วไปที่รีจิสเตอร์ควบคุมทำ...
ประวัติศาสตร์
CPU รุ่นแรกขาดรีจิสเตอร์ควบคุมเฉพาะ และอาศัยชุดสัญญาณและแฟล็กภายในที่มีจำกัด [ 1 ] เมื่อ IBM พัฒนา System /360 เวอร์ชันเพจจิ้ง [ หมายเหตุ 1 ] พวกเขาได้เพิ่มรีจิสเตอร์ควบคุม 16 ตัว [ 2 ] [ 3 ] ลงในการออกแบบสำหรับสิ่งที่กลายเป็น 360/67 IBM...
รีจิสเตอร์ควบคุมใน IBM 360/67
บน 360/67 นั้น CR0 และ CR2 ถูกใช้โดยการแปลงที่อยู่ CR 4-6 ประกอบด้วยแฟล็กต่างๆ รวมถึงมาสก์การขัดจังหวะและโหมดควบคุมแบบขยาย [ 3 ] และ CR 8-14 [ 5 ] ประกอบด้วยการตั้งค่าสวิตช์บนหน่วยการกำหนดค่า 2167
เอ็ม67 ซีอาร์0
รีจิสเตอร์ควบคุม 0 บรรจุที่อยู่ของตารางเซ็กเมนต์สำหรับการแปลงที่อยู่แบบไดนามิก