กลับไปหน้าบทความ

อ่าน 5 นาที

ดำเนินการตามคำสั่ง

ในสถาปัตยกรรมชุดคำสั่งคอมพิวเตอร์ (ISA)คำสั่ง executeคือคำสั่งภาษาเครื่องที่ประมวลผลข้อมูลเสมือนเป็นคำสั่งเครื่องและดำเนินการตามคำสั่งนั้น

ดำเนินการตามคำสั่ง

ในสถาปัตยกรรมชุดคำสั่งคอมพิวเตอร์ (ISA)คำสั่ง executeคือคำสั่งภาษาเครื่องที่ประมวลผลข้อมูลเสมือนเป็นคำสั่งเครื่องและดำเนินการตามคำสั่งนั้น

อาจถือได้ว่าเป็นโหมดที่สี่ของการจัดลำดับคำสั่งหลังจากการดำเนินการตามลำดับปกติการแตกแขนงและการขัดจังหวะ[ 1 ]เนื่องจากเป็นคำสั่งที่ดำเนินการกับคำสั่งอื่น เช่นคำสั่งทำซ้ำจึงถูกจัดประเภทเป็นเมตาคำสั่งด้วย[ 2 ]

แบบจำลองคอมพิวเตอร์

คอมพิวเตอร์หลายตระกูลที่เปิดตัวในช่วงทศวรรษ 1950 และ 1960 มี คำสั่ง execute : IBM 709 [ 1 ]และIBM 7090 ( ตัวย่อรหัสการทำงาน : XEC ), [ 3 ] IBM 7030 Stretch ( EX , EXIC ), [ 4 ] [ 1 ] PDP -1 / -4 / -7 / -9 / -15 ( XCT ), [ 5 ] [ 6 ] UNIVAC 1100/2200 ( EXRI ), [ 7 ] CDC 924 ( XEC ), [ 8 ] PDP -6 / -10 ( XCT ), IBM System/360 ( EX ), [ 9 ] [ a ] ​​GE -600 / Honeywell 6000 ( XEC , XED ), [ 10 ] SDS -9xx ( EXU ), [ 11 ] SDS 92 ( EXU ), [ 12 ]ซีรี่ส์SDS Sigma ( EXU ), [ 13 ]และซีรี่ส์ Varian 620 ( XECและคำสั่งดำเนินการตามเงื่อนไข) [ 14 ]

การออกแบบในช่วงทศวรรษ 1970 น้อยลงที่มีคำสั่งexecute ได้แก่ มินิคอมพิวเตอร์ Nuclear Data 812 (1971) ( XCT ) [ 15 ] HP 3000 (1972) ( XEQ ) [ 16 ]และ Texas Instruments TI-990 (1975) [ 17 ]และเวอร์ชันไมโครโปรเซสเซอร์TMS9900 (1976) ( X ) [ 18 ]มีการเสนอคำสั่ง execute สำหรับPDP - 11ในปี 1970 [ 19 ]แต่ไม่เคยนำไปใช้กับมัน[ 20 ]หรือรุ่นต่อมาคือVAX [ 21 ] Western Digital WD16 (1976 ) (XCT) เป็นเครื่องที่มีลักษณะคล้าย PDP-11 โดยใช้คำสั่ง execute เพื่อดำเนินการโปรแกรมทีละขั้นตอน[ 22 ] Signetics 8X300 (1976) (XEC) ดำเนินการคำสั่งหนึ่งคำสั่งจากตารางที่มีคำสั่งได้มากถึง 255 คำสั่ง คำสั่งส่วนใหญ่ทำหน้าที่เป็นซับรูทีนคำสั่งเดียว แต่มีการใช้สาขาเพื่อสร้างตารางกระโดด[ 23 ]

ชุดคำสั่งสมัยใหม่ไม่มี คำสั่ง executeเนื่องจากจะไปรบกวนการประมวลผลแบบไปป์ไลน์การดึงข้อมูลล่วงหน้าและการเพิ่มประสิทธิภาพอื่นๆ

ความหมาย

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

คำสั่งเป้าหมายจะถูกดำเนินการราวกับว่าอยู่ในตำแหน่งหน่วยความจำของ คำสั่ง executeตัวอย่างเช่น หากเป็นคำสั่งเรียกซับรูทีน การดำเนินการจะถูกถ่ายโอนไปยังซับรูทีน โดยตำแหน่งส่งคืนจะเป็นตำแหน่งหลัง คำสั่ง executeอย่างไรก็ตาม สถาปัตยกรรมบางอย่างใช้ คำสั่ง execute เวอร์ชันต่างๆ ที่ยับยั้งการแตกสาขา[ 1 ]

ระบบ System/360 รองรับคำสั่งเป้าหมายที่มีความยาวแปรผันได้ นอกจากนี้ยังรองรับการแก้ไขคำสั่งเป้าหมายก่อนที่จะดำเนินการ คำสั่งเป้าหมาย ต้องเริ่มต้นที่ไบต์ เลขคู่[ 9 ]

ซีรี่ส์ GE-600 รองรับการดำเนินการลำดับคำสั่งสองคำสั่ง ซึ่งจะต้องจัดเรียงแบบดับเบิลเวิร์ด[ 10 ]

สถาปัตยกรรมบางอย่างรองรับ คำสั่ง executeซึ่งทำงานในโหมดการป้องกันและการย้ายตำแหน่งที่ อยู่ที่แตกต่างกัน ตัวอย่างเช่น อุปกรณ์เพจจิ้ง ITS PDP-10 รองรับ คำสั่ง XCTR 'execute relocated' ในโหมดพิเศษ ซึ่งอนุญาตให้การอ่าน การเขียน หรือทั้งสองอย่างในหน่วยความจำใช้การแมปเพจในโหมดผู้ใช้[ 24 ]ในทำนองเดียวกัน PDP-10 รุ่น KL10รองรับคำสั่งPXCT 'previous context XCT' ใน โหมดพิเศษ [ 25 ]

คำ สั่ง executeอาจก่อให้เกิดปัญหาหลายประการ เมื่อ คำสั่ง execute หนึ่ง ชี้ไปยังคำสั่ง execute อื่น และเป็นเช่นนี้เรื่อยไป:

  • โปรเซสเซอร์อาจไม่สามารถถูกขัดจังหวะได้เป็นเวลาหลายรอบสัญญาณนาฬิกาหาก ไม่สามารถขัดจังหวะคำสั่ง executeในระหว่างการทำงานได้
  • ในทำนองเดียวกัน โปรเซสเซอร์อาจเข้าสู่ลูปไม่สิ้นสุดหากลำดับของ คำสั่ง executeเป็นแบบวนซ้ำและไม่สามารถขัดจังหวะได้
  • หาก คำสั่ง executeอยู่บนหน้า swap ที่แตกต่างกัน หน้า swap ทั้งหมดจะต้องถูกสลับเข้ามาเพื่อให้คำสั่งนั้นเสร็จสมบูรณ์ ซึ่งอาจทำให้เกิดปัญหา thrashingได้

ปัญหาที่คล้ายกันนี้เกิดขึ้นกับโหมด การกำหนดแอดเดรสทางอ้อมหลายระดับ

แอปพลิเคชัน

คำ สั่ง executeมีการใช้งานหลายอย่าง: [ 1 ]

  • ทำหน้าที่เป็น ซับรูทีนคำสั่งเดียวโดยไม่มีค่าใช้จ่ายเพิ่มเติมตามปกติของการเรียกซับรูทีนคำสั่งนั้นอาจเรียกซับรูทีนเต็มรูปแบบได้หากจำเป็น[ 1 ]
  • การผูกมัดล่าช้า
    • การใช้งานการเรียกตามชื่อและthunk อื่น ๆ[ 1 ]
    • ตารางเป้าหมายการดำเนินการอาจใช้สำหรับการเรียกใช้เมธอดหรือฟังก์ชันเสมือนของวัตถุหรือคลาส แบบไดนามิก โดยเฉพาะอย่างยิ่งเมื่อเมธอดหรือฟังก์ชันนั้นมักจะสามารถนำไปใช้เป็นคำสั่งเดียวได้[ 20 ]
    • เป้าหมายการดำเนินการอาจมีฮุกสำหรับเพิ่มฟังก์ชันการทำงานหรือสำหรับการดีบัก โดยปกติจะถูกเริ่มต้นด้วยค่าNOPซึ่งสามารถถูกแทนที่ได้แบบไดนามิก
    • เป้าหมายการดำเนินการอาจเปลี่ยนแปลงระหว่างเวอร์ชันที่รวดเร็วของการดำเนินการและเวอร์ชันที่มีการติดตามอย่างสมบูรณ์[ 26 ] [ 27 ] [ 28 ]
  • การติดตาม การตรวจสอบ และการจำลอง
    • สิ่งนี้อาจรักษาตัวนับโปรแกรม เสมือนไว้ โดยปล่อยให้ตัวนับโปรแกรมปกติไม่เปลี่ยนแปลง[ 1 ]
  • การเรียกใช้โค้ดที่สร้างขึ้นแบบไดนามิก โดยเฉพาะอย่างยิ่งเมื่อการป้องกันหน่วยความจำป้องกันไม่ให้สามารถเขียนโค้ดที่เรียกใช้งานได้
  • การจำลองโค้ดที่แก้ไขตัวเอง โดยเฉพาะอย่างยิ่งเมื่อต้องสามารถเรียกซ้ำได้หรืออ่านอย่างเดียว[ 19 ]
  • ในระบบ IBM System/360 คำสั่ง executeสามารถแก้ไขบิตที่ 8-15 ของคำสั่งเป้าหมายได้ ซึ่งจะเปลี่ยนคำสั่งที่มีอาร์กิวเมนต์คงที่ (เช่น ฟิลด์ความยาว) ให้กลายเป็นคำสั่งที่มีอาร์กิวเมนต์แปรผันได้
  • คำสั่ง execute ในโหมดสิทธิ์พิเศษเช่นเดียวกับที่พบใน KL10 นั้น ถูกใช้โดยเคอร์เนลของระบบปฏิบัติการเพื่อดำเนินการต่างๆ เช่น การคัดลอกบล็อกภายในพื้นที่เสมือนของกระบวนการผู้ใช้

หมายเหตุอธิบาย

  1. ^ IBM Zรุ่นหลัง(เดิมชื่อ eServer zSeries) เพิ่มฟังก์ชัน Execute Relative Long ( EXRL )

การอ้างอิง

  1. ^ a b c d e f g h Brooks, FP (มีนาคม 1960). "การดำเนินการ execute—โหมดที่สี่ของการจัดลำดับคำสั่ง" . Communications of the ACM . 3 (3): 168– 170. doi : 10.1145/367149.367168 . S2CID  37725430 .
  2. ^ Rossman, George E. (ธันวาคม 1975). "หลักสูตรการศึกษาด้านสถาปัตยกรรมฮาร์ดแวร์คอมพิวเตอร์". IEEE Computer . 8 (12): 44– 63. doi : 10.1109/CM.1975.218835 . S2CID 977792 . หน้า 50
  3. ^ คู่มืออ้างอิง ระบบประมวลผลข้อมูล IBM 7090 (PDF) IBM มีนาคม 1962 หน้า 36
  4. ^ คู่มืออ้างอิง ระบบประมวลผลข้อมูล 7030 (PDF) IBM สิงหาคม 1961 หน้า 50
  5. ^ คู่มือการใช้งานเครื่องประมวลผลข้อมูลแบบโปรแกรม-1 (PDF) . บริษัท ดิจิทัล อีควิซิเบิล คอร์ปอเรชั่น . 1961. หน้า 14.
  6. ^ซุปนิค, บ็อบ. "วิวัฒนาการทางสถาปัตยกรรมในคอมพิวเตอร์ 18b ของ DEC" (PDF)หน้า 8 (ไม่แสดงหมายเลขหน้า)
  7. ^ Univac 1107 คอมพิวเตอร์ส่วนกลาง (PDF)พฤศจิกายน 1961 หน้า 12-1
  8. ^ คู่มืออ้างอิงคอมพิวเตอร์ Control Data 924 (PDF)ตุลาคม 1962 หน้า 2-41
  9. ^ a bหลักการทำงานของ IBM System/360 (PDF) . IBM . 1964. หน้า 65. A22-6821-0.
  10. ^ a bคู่มือระบบ GE-635 (PDF)แผนกคอมพิวเตอร์ บริษัท เจเนอรัล อิเล็กทริก กรกฎาคม 1964 หน้า A-5
  11. ^ SDS 940 ทฤษฎีการทำงาน (PDF) . Scientific Data Systems . มีนาคม 1967. หน้า 2-12. SDS-98-01-26A.
  12. ^ SDS 92 คอมพิวเตอร์ . Scientific Data Systems . มิถุนายน 1965. หน้า 2-6.
  13. ^ คู่มืออ้างอิงคอมพิวเตอร์ Xerox SIGMA 7 (PDF)บริษัท Xerox. ตุลาคม 1973. หน้า  70–71 . 90 09 5J; XG46, หมายเลขไฟล์: 1X03.
  14. ^ "คู่มืออ้างอิงระบบ Varian DATA 620/i" (PDF) . Varian Data Machines. มีนาคม 1969. หน้า 3-44 . สืบค้นเมื่อ13 กุมภาพันธ์ 2026 .
  15. ^ หลักการเขียนโปรแกรมคอมพิวเตอร์ ND812 (PDF) . Nuclear Data, Inc. 1971. หน้า 4-4.
  16. ^ คู่มืออ้างอิงชุดคำสั่งเครื่องสำหรับระบบคอมพิวเตอร์ HP 3000 (PDF)ฮิวเลตต์-แพคการ์ด 1980 หน้า 2-31
  17. ^ 990 คู่มือระบบตระกูลคอมพิวเตอร์ (PDF) . Texas Instruments . หน้า 3-28.
  18. ^ คู่มือข้อมูลไมโครโปรเซสเซอร์ TMS 9900 (PDF)บริษัทเท็กซัส อินสตรูเมนต์ส ธันวาคม 1976 หน้า 24
  19. ^ a b van de Goor, Ad (21 กันยายน 1970). "คำสั่งดำเนินการ" (PDF) . PDP-11/40 บันทึกทางเทคนิค 18.
  20. ^ a bคู่มือการใช้งานโปรเซสเซอร์ PDP11: PDP11/04/34a/44/60/60 (PDF) . บริษัท ดิจิทัล อีควิซิชั่น คอร์ปอเรชั่น . 1979.
  21. ^ คู่มืออ้างอิงมาโครและชุดคำสั่ง VAX (PDF)บริษัทคอมพิวเตอร์ คอมแพคเมษายน 2544 AA-PS6GD-TE
  22. ^ Wilcox, Dick (4 ตุลาคม 2519). คู่มืออ้างอิงสำหรับโปรแกรมเมอร์ไมโครคอมพิวเตอร์ WD16 (PDF) . Western Digital . สืบค้นเมื่อ21 สิงหาคม 2568 .
  23. ^ "ไมโครคอนโทรลเลอร์ SL8X305" (PDF) . บริษัท Lansdale Semiconductor Inc . สืบค้นเมื่อ20 มิถุนายน 2017 .
  24. ^ Holloway, J. (20 กุมภาพันธ์ 1970). "บันทึกฮาร์ดแวร์ 2 - อุปกรณ์เพจจิ้ง PDP-10" (PDF) . MIT AI Lab . หน้า 11.
  25. ^ คู่มืออ้างอิงโปรเซสเซอร์ DECsystem-10, DECSYSTEM-20 (PDF) . Digital Equipment Corporation . มิถุนายน 1982. หน้า 2-63. AA-H391A-TK, AD-H391A-T1.
  26. ^ Gabriel, Richard P. (สิงหาคม 1985). ประสิทธิภาพและการประเมินระบบ Lisp (PDF) . MIT Press. หน้า 32. ISBN 9780262070935.
  27. ^ พิตแมน, เคนท์ เอ็ม. "บริสุทธิ์" . คู่มือ Maclisp ฉบับปรับปรุงใหม่ ฉบับเช้าวันอาทิตย์ .
  28. ^ Moon, David A. (เมษายน 1974). คู่มืออ้างอิง Maclisp (PDF) . ฉบับแก้ไข 0. หน้า 181.
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Execute_instruction&oldid=1338191342 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ดำเนินการตามคำสั่ง

ในสถาปัตยกรรมชุดคำสั่งคอมพิวเตอร์ (ISA)คำสั่ง executeคือคำสั่งภาษาเครื่องที่ประมวลผลข้อมูลเสมือนเป็นคำสั่งเครื่องและดำเนินการตามคำสั่งนั้น

แบบจำลองคอมพิวเตอร์

คอมพิวเตอร์หลายตระกูลที่เปิดตัวในช่วงทศวรรษ 1950 และ 1960 มี คำสั่ง execute : IBM 709 [ 1 ] และ IBM 7090 ( ตัวย่อรหัสการทำงาน : XEC ), [ 3 ] IBM 7030 Stretch ( EX , EXIC ), [ 4 ] [ 1 ] PDP -1 / -4 / -7 / -9 / -15 ( XCT ), [ 5 ] [ 6 ] UNIVAC 1100/2200 ( EXRI...

ความหมาย

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

แอปพลิเคชัน

คำ สั่ง execute มีการใช้งานหลายอย่าง: [ 1 ]