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

อ่าน 15 นาที

สถาปัตยกรรม IBM System/360

สถาปัตยกรรม IBM System/360 เป็น สถาปัตยกรรม ที่ไม่ขึ้นกับรุ่น สำหรับ คอมพิวเตอร์เมนเฟรม ตระกูล S/360 ทั้งหมดรวมถึงแต่ไม่จำกัดเฉพาะ สถาปัตยกรรมชุดคำสั่ง...

สถาปัตยกรรม IBM System/360

ระบบ/360
นักออกแบบไอบีเอ็ม
บิต32 บิต
แนะนำ7 เมษายน 2507 ( 7 เมษายน 1964 )
ออกแบบซีไอเอสซี
พิมพ์รีจิสเตอร์-รีจิสเตอร์รีจิสเตอร์-หน่วยความจำหน่วยความจำ-หน่วยความจำ
การเข้ารหัสตัวแปร(ความยาว 2, 4 หรือ 6 ไบต์)
การแตกแขนงรหัสเงื่อนไข , การจัดทำดัชนี, การนับ
เอนเดียนเนสใหญ่
ขนาดหน้ากระดาษไม่มีข้อมูล ยกเว้น360/67
เปิดใช่
ทะเบียน
อเนกประสงค์16× 32 บิต
จุดลอยตัว4× 64 บิต

สถาปัตยกรรม IBM System/360 เป็น สถาปัตยกรรมที่ไม่ขึ้นกับรุ่น สำหรับ คอมพิวเตอร์เมนเฟรมตระกูลS/360ทั้งหมดรวมถึงแต่ไม่จำกัดเฉพาะสถาปัตยกรรมชุดคำสั่งองค์ประกอบของสถาปัตยกรรมได้รับการบันทึกไว้ในหลักการทำงานของ IBM System/360 [ 1 ] [ 2 ]และคู่มือข้อมูลผู้ผลิตอุปกรณ์ดั้งเดิมของ IBM System/360 I/O Interface Channel to Control Unit [ 3 ]

คุณสมบัติ

รีจิสเตอร์ IBM S/360
ทะเบียนทั่วไป 0-15
ค่าส่วนเติมเต็มของสอง
0 31
รีจิสเตอร์จุดลอยตัว 0, 2, 4 และ 6
เอส เลขชี้กำลังที่เอนเอียง มนทิสสา
0 1 7 8 31
มัณฐิสา (ต่อ)
32 63
S/360 PSW [ 4 ]
ชาน. มาสก์ ไอโอ อดีต​ สำคัญ เอ เอ็ม พี รหัสขัดจังหวะ
0 1 2 4 5 6 7 8 11 12 13 14 15 16 31
ไอแอลซี ซีซี หน้ากาก โปรแกรมคำแนะนำที่อยู่
32 33 34 35 36 39 40 63
ตัวย่อ S/360 PSW
บิต สนาม ความหมาย
0-5 หน้ากากช่องสัญญาณสำหรับช่องสัญญาณ 0-5
6 ไอโอ หน้ากากอินพุต/เอาต์พุตสำหรับช่องสัญญาณ > 5
7 อดีต หน้ากากภายนอก
8-11 สำคัญ กุญแจ PSW
12 เอ โหมด SCII สำหรับการคำนวณเลขฐานสิบ
13 เอ็ม หน้ากากอนามัยแบบตรวจสอบด้วยเครื่องจักร
14 สถานะรอ
15 พี สถานะปัญหา
16-31 ไอซี รหัสการขัดจังหวะ[ 5 ]
32-33 ไอแอลซี รหัสความยาวคำสั่ง[ 6 ]
34-35 ซีซี รหัสเงื่อนไข
36-39 นายกรัฐมนตรี
หน้ากากโปรแกรม
นิดหน่อย ความหมาย
36 การล้นของจุดคงที่
37 การล้นของทศนิยม
38 ค่าเลขชี้กำลังต่ำกว่าค่าที่กำหนด
39 ความสำคัญ
40-63 ไอเอ คำแนะนำที่อยู่
  • เอกสารของ IBM กำหนดหมายเลขบิตจากค่าสูงไปค่าต่ำ โดยบิตที่มีค่ามากที่สุด (ซ้ายสุด) จะถูกกำหนดให้เป็นบิตหมายเลข 0

สถาปัตยกรรม System/360 มีคุณสมบัติดังต่อไปนี้:

  • รีจิสเตอร์อเนกประสงค์32 บิต จำนวน 16 ตัว
  • รีจิสเตอร์จุดลอยตัว 64 บิต 4 ตัว
  • รีจิสเตอร์สถานะโปรเซสเซอร์ (PSW) ขนาด 64 บิต ซึ่งรวมถึงที่อยู่คำสั่งขนาด 24 บิต
  • พื้นที่หน่วยความจำที่สามารถเข้าถึงได้ทีละไบต์ ขนาด 24 บิต (16 เมกะไบต์)
  • ลำดับไบต์/เวิร์ดแบบบิ๊กเอนเดียน
  • ชุดคำสั่งมาตรฐานซึ่งรวมถึงคำสั่งคำนวณเลขฐานสองแบบคงที่และคำสั่งตรรกะ มีอยู่ในทุกรุ่นของ System/360 (ยกเว้นรุ่น Model 20ดูรายละเอียดด้านล่าง)
    • ชุดคำสั่งเชิงพาณิชย์ซึ่งเพิ่มคำสั่งคำนวณเลขฐานสิบ เป็นตัวเลือกเสริมสำหรับบางรุ่น เช่นเดียวกับชุดคำสั่งทางวิทยาศาสตร์ซึ่งเพิ่มคำสั่งคำนวณเลข ทศนิยม ส่วนชุดคำสั่งสากล นั้น ประกอบด้วยคำสั่งทั้งหมดข้างต้น รวมทั้งคำสั่งป้องกันการจัดเก็บข้อมูล และเป็นมาตรฐานสำหรับบางรุ่น
    • โมเดล44มีคำสั่งเฉพาะสำหรับการรับข้อมูลและการประมวลผลแบบเรียลไทม์อยู่บ้าง แต่ขาดคำสั่งสำหรับการถ่ายโอนข้อมูลระหว่างหน่วยเก็บข้อมูล อย่างไรก็ตาม IBM ได้นำเสนอคุณสมบัติ " ชุดคำสั่งเชิงพาณิชย์"ที่ทำงานในหน่วยเก็บข้อมูลแบบบัมพ์ และจำลองคำสั่งที่ขาดหายไปเหล่านั้น
    • รุ่นModel 20นำเสนอชุดคำสั่งมาตรฐานเวอร์ชันที่ลดทอนลง โดยจำกัดไว้ที่รีจิสเตอร์ทั่วไปแปดตัวพร้อมคำสั่งแบบครึ่งเวิร์ด (16 บิต) เท่านั้น รวมถึงชุดคำสั่งเชิงพาณิชย์ และคำสั่งเฉพาะสำหรับการรับเข้า/ส่งออกข้อมูล
    • โมเดล67ประกอบด้วยคำสั่งบางอย่างเพื่อจัดการที่อยู่ 32 บิตและ "การแปลที่อยู่แบบไดนามิก" พร้อมด้วยคำสั่งพิเศษเพิ่มเติมเพื่อจัดเตรียมหน่วยความจำเสมือน[ 7 ]

หน่วยความจำ

หน่วยความจำ ( พื้นที่จัดเก็บ ) ใน System/360 ถูกกำหนดแอดเดรสใน หน่วยไบต์ 8 บิตคำสั่งต่างๆ ทำงานกับหน่วยที่ใหญ่กว่าที่เรียกว่าhalfword (2 ไบต์), fullword (4 ไบต์), doubleword (8 ไบต์), quadword (16 ไบต์) และบล็อกพื้นที่จัดเก็บ 2048 ไบต์ โดยระบุแอดเดรสซ้ายสุด (แอดเดรสต่ำสุด) ของหน่วยนั้น ภายใน halfword, fullword, doubleword หรือ quadword ไบต์ที่มีหมายเลขต่ำกว่าจะมีความสำคัญมากกว่าไบต์ที่มีหมายเลขสูงกว่า ซึ่งบางครั้งเรียกว่าbig-endianการใช้งานหน่วยเหล่านี้หลายอย่างจำเป็นต้องจัดเรียงให้ตรงกับขอบเขตที่กำหนด ในบทความนี้คำว่า word ที่ไม่มีคำ ขยาย หมายถึงfullword

 สถาปัตยกรรมดั้งเดิมของ System/360 รองรับ หน่วยความจำได้สูงสุด 2 24 = 16,777,216 ไบต์ รุ่น Model 67 ในภายหลัง ได้ขยายสถาปัตยกรรมเพื่อให้รองรับหน่วยความจำเสมือนได้สูงสุด 2 32  = 4,294,967,296 ไบต์ [ a ]

การแก้ไขปัญหา

System/360 ใช้การกำหนดแอดเดรสแบบตัดทอนคล้ายกับUNIVAC III [ 8 ]นั่นหมายความว่าคำสั่งจะไม่ประกอบด้วยแอดเดรสที่สมบูรณ์ แต่จะระบุรีจิสเตอร์ฐานและค่าออฟเซ็ตบวกจากแอดเดรสในรีจิสเตอร์ฐาน ในกรณีของ System/360 แอดเดรสฐานจะอยู่ในรีจิสเตอร์ทั่วไป 1 ใน 15 [ b ]ตัว ในบางคำสั่ง เช่น การเลื่อนบิต จะมีการคำนวณแบบเดียวกันสำหรับปริมาณ 32 บิตที่ไม่ใช่แอดเดรส

รูปแบบข้อมูล

สถาปัตยกรรม S/360 กำหนดรูปแบบสำหรับอักขระ จำนวนเต็ม จำนวนเต็มทศนิยม และจำนวนทศนิยมฐานสิบหก คำสั่งสำหรับอักขระและจำนวนเต็มเป็นคำสั่งบังคับ แต่คำสั่งสำหรับทศนิยมและจำนวนทศนิยมเป็นส่วนหนึ่งของฟีเจอร์ การคำนวณเลขฐาน สิบและการคำนวณเลขทศนิยม

  • อักขระจะถูกจัดเก็บในรูปแบบไบต์ 8 บิต
  • จำนวนเต็มจะถูกจัดเก็บในรูปแบบเลขฐานสองแบบ Two's complement โดยอาจเป็นค่าครึ่งเวิร์ดหรือค่าเต็มเวิร์ด
  • เลข ฐานสิบแบบแพ็คจะถูกจัดเก็บในรูปแบบไบต์ 8 บิต จำนวน 1 ถึง 16 ไบต์ โดยแต่ละไบต์ประกอบด้วยจำนวนหลักทศนิยมคี่ ตามด้วยเครื่องหมาย 4 บิต ค่าเครื่องหมายของเลขฐานสิบหก A, C, E และ F เป็นค่าบวก และค่าเครื่องหมายของเลขฐานสิบหก B และ D เป็นค่าลบ ค่าหลักของเลขฐานสิบหก AF และค่าเครื่องหมาย 0-9 ไม่ถูกต้อง แต่คำสั่ง PACK และ UNPK ไม่ได้ตรวจสอบความถูกต้อง
  • เลข ฐานสิบแบบแบ่งโซนจะถูกจัดเก็บในรูปแบบไบต์ 8 บิต จำนวน 1 ถึง 16 ไบต์ โดยแต่ละไบต์ประกอบด้วยโซนในบิตที่ 0-3 และตัวเลขในบิตที่ 4-7 โซนของไบต์ขวาสุดจะถูกตีความว่าเป็นเครื่องหมาย
  • ตัวเลข จุดลอยตัวจะถูกจัดเก็บเป็นค่าแบบเต็มเวิร์ดหรือดับเบิลเวิร์ดเฉพาะในรุ่นเก่าเท่านั้น ในรุ่น 360/85 [ 9 ]และ 360/195 [ 10 ]ยังมีตัวเลขจุดลอยตัวที่มีความแม่นยำสูงที่จัดเก็บเป็นควอดเวิร์ดอีกด้วย สำหรับทั้งสามรูปแบบ บิตที่ 0 คือเครื่องหมาย และบิตที่ 0-7 คือค่าลักษณะเฉพาะ (เลขชี้กำลัง ซึ่งมีค่าเบี่ยงเบนจาก 64) บิตที่ 8-31 (8-63) คือเศษส่วนเลขฐานสิบหก สำหรับความแม่นยำสูง ดับเบิลเวิร์ดลำดับต่ำจะมีเครื่องหมายและค่าลักษณะเฉพาะของตัวเอง ซึ่งจะถูกละเลยเมื่อป้อนข้อมูลและสร้างขึ้นเมื่อส่งออก

รูปแบบคำแนะนำ

คำสั่งใน S/360 มีความยาวสอง สี่ หรือหกไบต์ โดยมีรหัสการทำงาน (opcode) อยู่ในไบต์ที่ 0 คำสั่งมีรูปแบบใดรูปแบบหนึ่งดังต่อไปนี้:

  • RR (สองไบต์) โดยทั่วไป ไบต์ที่ 1 จะระบุหมายเลขรีจิสเตอร์ 4 บิตสองหมายเลข แต่ในบางกรณี เช่น SVC ไบต์ที่ 1 จะเป็นฟิลด์ค่าคงที่ 8 บิตเพียงฟิลด์เดียว
  • RS (สี่ไบต์) ไบต์ที่ 1 ระบุหมายเลขรีจิสเตอร์สองหมายเลข ไบต์ที่ 2-3 ระบุฐานและค่าการเลื่อน
  • RX (สี่ไบต์) บิตที่ 0-3 ของไบต์ที่ 1 ระบุหมายเลขรีจิสเตอร์หรือตัวปรับแต่ง บิตที่ 4-7 ของไบต์ที่ 1 ระบุหมายเลขของรีจิสเตอร์ทั่วไปที่จะใช้เป็นดัชนี ไบต์ที่ 2-3 ระบุฐานและค่าชดเชย
  • SI (สี่ไบต์) ไบต์ที่ 1 ระบุฟิลด์ค่าคงที่ทันที ไบต์ที่ 2-3 ระบุฐานและค่าการกระจัด
  • SS (หกไบต์) ไบต์ที่ 1 ระบุฟิลด์ความยาว 4 บิตสองฟิลด์หรือฟิลด์ความยาว 8 บิตหนึ่งฟิลด์ ไบต์ที่ 2-3 และ 4-5 แต่ละไบต์ระบุฐานและค่าการเลื่อน การเข้ารหัสของฟิลด์ความยาวคือความยาวลบ 1

คำสั่งต้องอยู่ภายในขอบเขตสองไบต์ในหน่วยความจำ ดังนั้นบิตลำดับต่ำสุดของที่อยู่คำสั่งจึงเป็น 0 เสมอ

คำแสดงสถานะโปรแกรม (PSW)

คำสถานะโปรแกรม ( ) PSW[ 2 ] : 71–72 ประกอบด้วยการควบคุมที่หลากหลายสำหรับโปรแกรมที่กำลังทำงานอยู่ PSW 64 บิตอธิบาย (ในบรรดาสิ่งอื่นๆ) ที่อยู่ของคำสั่งปัจจุบันที่กำลังดำเนินการ รหัสเงื่อนไข และมาสก์การขัดจังหวะ

รูปแบบ PSW
บิต สารบัญ คำอธิบาย
0-7 หน้ากากระบบ บิต 0-5: เปิดใช้งานช่องสัญญาณ 0-5 บิต 6: เปิดใช้งานช่องสัญญาณที่เหลือทั้งหมด[ c ]บิต 7: เปิดใช้งานการขัดจังหวะภายนอก (ตัวจับเวลา, ปุ่มขัดจังหวะ และสัญญาณภายนอก[ 13 ]
8-11 กุญแจป้องกันคีย์ป้องกัน CPU เพื่อเปรียบเทียบกับคีย์ป้องกันพื้นที่จัดเก็บข้อมูล
12โหมด ASCII เปิดใช้งานโหมด ASCII สำหรับคำสั่งเลขฐานสิบแบบแพ็ค ซึ่งไม่เคยใช้ในซอฟต์แวร์ของ IBM [ d ]
13 การตรวจสอบด้วยเครื่องจักร เปิดใช้งานการขัดจังหวะการตรวจสอบเครื่องจักร
14 สถานะการรอคอย หากโปรเซสเซอร์หยุดทำงาน การขัดจังหวะ (หากเปิดใช้งานไว้) จะทำให้โปรเซสเซอร์กลับมาประมวลผลคำสั่งต่อ
15 สถานะปัญหา เปิดใช้งานเพื่อป้องกันการใช้คำสั่งที่สงวนไว้สำหรับสถานะผู้ควบคุม
16-31 รหัสขัดจังหวะ รหัสเพื่อระบุประเภทของการขัดจังหวะที่แทรกเมื่อจัดเก็บ PSW ระหว่าง IPLoad นี่คือที่อยู่ของอุปกรณ์ที่โหลดโปรแกรม[ 14 ]
32-33 รหัสความยาวคำสั่ง ความยาวเป็นครึ่งคำ หรือ 0 หากไม่มีข้อมูล
34-35 รหัสเงื่อนไข โปรดดูคำแนะนำเฉพาะสำหรับการเข้ารหัส
36-39 หน้ากากโปรแกรม บิต 36: เปิดใช้งานการล้นจุดคงที่, บิต 37: การล้นทศนิยม, บิต 38: การล้นเลขชี้กำลัง, บิต 39: ความสำคัญ[ 13 ]
40-63 คำแนะนำที่อยู่ ที่อยู่ของคำสั่งถัดไป ยกเว้นการขัดจังหวะโปรแกรมด้วย ILC 0

คำสั่ง Load Program Status Word ( ) เป็น คำสั่งLPSWพิเศษที่ใช้โหลด Program Status Word (PSW) ซึ่งรวมถึงโหมดโปรแกรม คีย์ป้องกัน และที่อยู่ของคำสั่งถัดไปที่จะถูกประมวลผล LPSW มักใช้เพื่อกลับจากการขัดจังหวะโดยการโหลด PSW เก่าที่เกี่ยวข้องกับคลาสการขัดจังหวะ มีคำสั่งพิเศษหนึ่งคำสั่ง ( ) และคำสั่งที่ไม่มีสิทธิ์พิเศษหนึ่งคำสั่ง ( ) สำหรับจัดการส่วนย่อยของ PSW โดยไม่ทำให้เกิดการขัดจังหวะหรือโหลด PSW [ e ]SSMSPM

ระบบขัดจังหวะ

สถาปัตยกรรม[ 2 ] : 77–83 กำหนดการ ขัดจังหวะ 5 ประเภทการขัดจังหวะเป็นกลไกสำหรับการเปลี่ยนสถานะของโปรแกรมโดยอัตโนมัติ ใช้สำหรับทั้งเหตุการณ์ แบบซิงโครนัส [ f ]และแบบอะซิงโครนัส

คลาสการขัดจังหวะPSW เก่าPSW ใหม่ ลำดับความสำคัญ
หกเหลี่ยมธันวาคมหกเหลี่ยมธันวาคม
อินพุต/เอาต์พุต[ 15 ]3856781204
โปรแกรม[ 16 ]2840681042
หัวหน้างานเรียก[ 17 ]203260962
ภายนอก[ 18 ]182458883
การตรวจสอบเครื่องจักร[ 19 ]3048701121

บนระบบ S/360 จะมีช่องเก็บข้อมูลสองช่องที่กำหนดไว้สำหรับแต่ละประเภทของการขัดจังหวะ ได้แก่ PSW แบบดับเบิลเวิร์ดเก่า และ PSW แบบดับเบิลเวิร์ดใหม่ โปรเซสเซอร์จะจัดเก็บ PSW ที่แทรกโค้ดการขัดจังหวะไว้ในตำแหน่ง PSW เก่า จากนั้นจึงโหลด PSW จากตำแหน่ง PSW ใหม่ โดยทั่วไปแล้ว การทำเช่นนี้จะแทนที่ที่อยู่คำสั่ง ทำให้เกิดการกระโดด และ (อาจมี) ตั้งค่าและ/หรือรีเซ็ตฟิลด์อื่นๆ ภายใน PSW ทำให้เกิดการเปลี่ยนโหมด

สถาปัตยกรรม S/360 กำหนดลำดับความสำคัญให้กับคลาสการขัดจังหวะแต่ละคลาส แต่จะมีผลก็ต่อเมื่อมีการขัดจังหวะสองครั้งเกิดขึ้นพร้อมกันเท่านั้น รูทีนการขัดจังหวะสามารถถูกขัดจังหวะโดยการขัดจังหวะอื่น ๆ ที่เปิดใช้งานอยู่ รวมถึงการขัดจังหวะเริ่มต้นที่เกิดขึ้นซ้ำอีกครั้ง ด้วยเหตุนี้ จึงเป็นเรื่องปกติที่จะระบุบิตมาสก์ทั้งหมด ยกเว้นบิตมาสก์ตรวจสอบเครื่อง ให้เป็น 0 สำหรับตัวจัดการการขัดจังหวะ "ระดับแรก" ตัวจัดการการขัดจังหวะ "ระดับที่สอง" โดยทั่วไปได้รับการออกแบบมาสำหรับการขัดจังหวะแบบซ้อนกัน (การขัดจังหวะหลายครั้งที่เกิดขึ้นในคลาสการขัดจังหวะเดียวกัน)

การขัดจังหวะการรับ/ส่งข้อมูล

การขัดจังหวะ I/O [ 15 ]เกิดขึ้นเมื่อโปรแกรมช่องสัญญาณเสร็จสิ้น หลังจากดึง CCW โดยตั้งค่าบิต PCI และยังรวมถึง เหตุการณ์แบบ อะซิงโครนัสที่ตรวจพบโดยอุปกรณ์ หน่วยควบคุม หรือช่องสัญญาณ เช่น การเสร็จสิ้นการเคลื่อนไหวเชิงกล ระบบจะจัดเก็บที่อยู่ของอุปกรณ์ลงในรหัสการขัดจังหวะ และจัดเก็บสถานะช่องสัญญาณลงในCSWที่ตำแหน่ง 64 ('40'X)

โปรแกรมหยุดชั่วคราว

การขัดจังหวะโปรแกรม[ 2 ] : 16, 79–80.1 เกิดขึ้นเมื่อคำสั่งพบข้อยกเว้นหนึ่ง[ g ]จาก 15 [ h ]ข้อยกเว้น อย่างไรก็ตาม หาก บิต Program Maskที่สอดคล้องกับข้อยกเว้นเป็น 0 จะไม่มีการขัดจังหวะสำหรับข้อยกเว้นนั้น บน 360/65, [ 21 ] : 12 360/67 [ 11 ] : 46 และ 360/85 [ 9 ] : 12 การขัดจังหวะข้อยกเว้นการป้องกันและข้อยกเว้นการกำหนดที่อยู่สามารถไม่แม่นยำ ในกรณีนี้จะเก็บรหัสความยาวคำสั่งเป็น 0 รหัสการขัดจังหวะอาจเป็นรหัสใดก็ได้ของ

รหัสขัดจังหวะสำหรับการขัดจังหวะโปรแกรม(PSW) บิตเก่า 26-31
บิต หกเหลี่ยม26-31 ธันวาคม ข้อยกเว้น
0 0

การขัดจังหวะที่ไม่แม่นยำ[ g ]บน 360/91, [ 20 ] : 15 360/95 หรือ 360/195 [ 10 ] : 14

1 1 การดำเนินการ[ 22 ]
2 2 การดำเนินการพิเศษ[ 22 ]
3 3 ดำเนินการ[ 22 ]
4 4 การป้องกัน[ 22 ]
5 5 การแก้ไข[ 23 ]
6 6 ข้อกำหนด[ 24 ]
7 7 ข้อมูล[ 24 ]
8 8 การล้นจุดคงที่[ 24 ]
9 9 การหารจุดคงที่[ 24 ]
เอ 10 การล้นของเลขฐานสิบ[ 24 ]
บี 11 การหารทศนิยม[ 24 ]
ซี 12 เลขชี้กำลังล้น[ 24 ]
ดี 13 เลขชี้กำลังต่ำกว่าค่าที่กำหนด[ 24 ]
อี 14 ความสำคัญ[ 24 ]
เอฟ 15 การหารจุดลอยตัว[ 25 ]
10 16

การแปลส่วน[ 11 ] : 17 [ h ]

11 17

การแปลหน้า[ 11 ] : 17 [ h ]

12 18

ข้อยกเว้น SSM [ 21 ] [ h ]

  • ข้อยกเว้นการดำเนินการ[ 22 ]จะถูกตรวจพบเมื่อโปรแกรมพยายามดำเนินการคำสั่งที่มีรหัสการทำงานที่คอมพิวเตอร์ไม่ได้นำไปใช้ โดยเฉพาะอย่างยิ่ง ข้อยกเว้นการดำเนินการจะถูกตรวจพบเมื่อโปรแกรมถูกเขียนขึ้นสำหรับคุณสมบัติเสริม เช่น จุดลอยตัว ซึ่งไม่ได้ติดตั้งไว้
  • ข้อยกเว้นการดำเนินการที่มีสิทธิ์[ 22 ]จะถูกรับรู้เมื่อโปรแกรมพยายามดำเนินการคำสั่งที่มีสิทธิ์เมื่อบิตสถานะปัญหาใน PSW เป็น 1
  • ข้อยกเว้นการดำเนินการ[ 22 ]จะถูกรับรู้เมื่อตัวดำเนินการของคำสั่ง EXECUTE (EX)เป็นคำสั่ง EXECUTE อื่น
  • ข้อยกเว้นการป้องกัน[ 22 ]จะถูกรับรู้เมื่อโปรแกรมพยายามจัดเก็บในตำแหน่งที่มีคีย์ป้องกันการจัดเก็บที่ไม่ตรงกับ คีย์ PSW [ k ]หรือดึงข้อมูลจากตำแหน่งที่ได้รับการป้องกันการดึงข้อมูลซึ่งมีคีย์ป้องกันการจัดเก็บที่ไม่ตรงกับคีย์ PSW
  • ข้อยกเว้นที่อยู่[ 23 ]จะถูกรับรู้เมื่อโปรแกรมพยายามเข้าถึงตำแหน่งจัดเก็บข้อมูลที่ไม่พร้อมใช้งานในขณะนี้ โดยปกติจะเกิดขึ้นกับที่อยู่เกินความจุของเครื่อง แต่ก็อาจเกิดขึ้นกับเครื่องที่อนุญาตให้บล็อกจัดเก็บข้อมูลถูกปิดใช้งานได้เช่นกัน
  • ข้อยกเว้นข้อกำหนด[ 24 ]ได้รับการยอมรับเมื่อคำสั่งมีความยาวหรือฟิลด์รีจิสเตอร์ที่มีค่าที่ไม่ได้รับอนุญาตจากการดำเนินการ หรือเมื่อมีที่อยู่ตัวถูกดำเนินการที่ไม่ตรงตามข้อกำหนดการจัดเรียงของรหัสปฏิบัติการ เช่น คำสั่ง LH ที่มีที่อยู่ตัวถูกดำเนินการคี่บนเครื่องที่ไม่มีคุณสมบัติการจัดเรียงไบต์
  • ข้อยกเว้นข้อมูล[ 24 ]จะถูกรับรู้เมื่อคำสั่งทศนิยมระบุตัวถูกดำเนินการที่ไม่ถูกต้อง เช่น ข้อมูลที่ไม่ถูกต้อง การทับซ้อนที่ไม่ถูกต้อง
  • ข้อยกเว้นการล้นจุดคงที่[ 24 ]จะถูกรับรู้เมื่อบิตสำคัญสูญหายในการคำนวณเลขคณิตจุดคงที่หรือคำสั่งเลื่อน นอกเหนือจากการหาร
  • ข้อยกเว้นการหารจุดคงที่[ 24 ]จะถูกรับรู้เมื่อบิตสำคัญสูญหายในการหารจุดคงที่หรือคำสั่งแปลงเป็นไบนารี
  • ข้อยกเว้นการล้นทศนิยม[ 24 ]จะถูกรับรู้เมื่อตัวเลขสำคัญหายไปในคำสั่งคำนวณเลขฐานสิบ นอกเหนือจากการหาร
  • ข้อยกเว้นการหารทศนิยม[ 24 ]จะถูกรับรู้เมื่อบิตสำคัญหายไปในคำสั่งหารทศนิยม ปลายทางจะไม่เปลี่ยนแปลง
  • ข้อยกเว้นการล้นเลขชี้กำลัง[ 24 ]จะถูกรับรู้เมื่อลักษณะเฉพาะในการดำเนินการเลขคณิตจุดลอยตัวเกิน 127 และเศษส่วนไม่ใช่ศูนย์
  • ข้อยกเว้นเลขชี้กำลังต่ำกว่าค่าที่กำหนด[ 24 ]จะถูกรับรู้เมื่อลักษณะเฉพาะในการดำเนินการเลขคณิตจุดลอยตัวเป็นค่าลบและเศษส่วนไม่ใช่ศูนย์
  • ข้อยกเว้นที่สำคัญ[ 24 ]ได้รับการยอมรับเมื่อเศษส่วนในการดำเนินการบวกหรือลบจุดลอยตัวเป็นศูนย์
  • ข้อยกเว้นการหารจุดลอยตัว[ 25 ]จะถูกรับรู้เมื่อเศษส่วนในตัวหารของการดำเนินการหารจุดลอยตัวเป็นศูนย์

รหัส ABENDของ OS/360 สำหรับข้อผิดพลาดของฮาร์ดแวร์คือ 'S0Cx' โดยที่ 'x' คือค่าเลขฐานสิบหกของรหัสข้างต้น ตัวอย่างเช่น Abend S0C7 คือข้อผิดพลาดที่เกิดจากข้อผิดพลาดของข้อมูล

หัวหน้างานถูกขัดจังหวะการโทร

การขัดจังหวะการเรียกผู้ดูแล[ 17 ]เกิดขึ้นอันเป็นผลมาจากคำสั่งเรียกผู้ดูแลระบบจะจัดเก็บบิตที่ 8-15 ของคำสั่ง SVC เป็นรหัสการขัดจังหวะ

การขัดจังหวะจากภายนอก

การขัดจังหวะ ภายนอก[ 26 ] [ l ]เกิดขึ้นอันเป็นผลมาจากเหตุการณ์อะซิงโครนัสบางอย่าง บิต 16-24 ของ PSW เก่าภายนอกถูกตั้งค่าเป็น 0 และบิต 24-31 อย่างน้อยหนึ่งบิตถูกตั้งค่าเป็น 1

รหัสการขัดจังหวะสำหรับการขัดจังหวะจากภายนอก
บิต PSW ประเภทของการรบกวนจากภายนอก

24

ตัวจับเวลา

25

ปุ่มขัดจังหวะ

26

สัญญาณภายนอก 2 การแจ้งเตือนการทำงานผิดปกติบน 360/65 [ 21 ]ในโหมดมัลติซิสเต็ม

27

สัญญาณภายนอก 3 การเรียกใช้ระบบบน 360/65 [ 21 ]ในโหมดมัลติซิสเต็ม

28

สัญญาณภายนอก 4

29

สัญญาณภายนอก 5

30

สัญญาณภายนอก 6

31

สัญญาณภายนอก 7

การขัดจังหวะการตรวจสอบเครื่องจักร

การขัดจังหวะ Machine Check [ 19 ]เกิดขึ้นเพื่อรายงานสภาวะผิดปกติที่เกี่ยวข้องกับช่องสัญญาณหรือ CPU ที่ไม่สามารถรายงานได้ด้วยการขัดจังหวะประเภทอื่น สภาวะที่สำคัญที่สุดที่ทำให้เกิด Machine Check คือข้อผิดพลาดของฮาร์ดแวร์ เช่น ข้อผิดพลาดพาริตีที่พบในรีจิสเตอร์หรือหน่วยเก็บข้อมูล แต่บางรุ่นอาจใช้เพื่อรายงานสภาวะที่ไม่ร้ายแรงนัก ทั้งรหัสการขัดจังหวะและข้อมูลที่จัดเก็บในพื้นที่สแกนเอาต์ที่ '80'x (128 เลขฐานสิบ) ขึ้นอยู่กับรุ่น

อินพุต/เอาต์พุต

บทความนี้อธิบาย I/O จากมุมมองของ CPU ไม่ได้กล่าวถึงสายเคเบิลช่องสัญญาณหรือตัวเชื่อมต่อ ซึ่งมี บทความแยก ต่างหาก มีบทสรุปอยู่ที่อื่นและรายละเอียดสามารถพบได้ในเอกสารของ IBM [ 3 ]และใน FIPS PUB 60-2 [ 27 ]

การรับส่งข้อมูล (I/O) ดำเนินการโดยหน่วยประมวลผลที่แยกจากกันในเชิงแนวคิด เรียกว่า ช่องสัญญาณ (channel) ช่องสัญญาณมีชุดคำสั่งของตนเอง และเข้าถึงหน่วยความจำโดยอิสระจากโปรแกรมที่ทำงานบน CPU ในรุ่นขนาดเล็ก (ตั้งแต่360/50 ขึ้นไป ) เอ็นจิ้นไมโครโค้ดตัวเดียวจะทำงานทั้งโปรแกรม CPU และโปรแกรมช่องสัญญาณ ในรุ่นขนาดใหญ่ ช่องสัญญาณจะอยู่ในตู้แยกต่างหากและมีอินเทอร์เฟซของตนเองสำหรับการเข้าถึงหน่วยความจำ ช่องสัญญาณอาจมี ช่อง สัญญาณ ย่อยหลายช่อง แต่ละช่องสัญญาณย่อยจะมีสถานะของโปรแกรมช่องสัญญาณแต่ละรายการ ช่องสัญญาณย่อยที่เชื่อมโยงกับอุปกรณ์หลายตัวที่ไม่สามารถมีโปรแกรมช่องสัญญาณพร้อมกันได้เรียกว่า ช่องสัญญาณย่อยที่ใช้ร่วมกัน (shared ) ส่วนช่องสัญญาณย่อยที่แสดงถึงอุปกรณ์เพียงตัวเดียวเรียกว่า ช่องสัญญาณย่อย ที่ไม่ได้ใช้ร่วม กัน (unshared )

ใน S/360 มีช่องสัญญาณอยู่สามประเภท:

  • ช่องสัญญาณมัลติเพล็กเซอร์แบบไบต์สามารถประมวลผลCCW หลายตัว พร้อมกันได้ โดยปกติจะใช้สำหรับเชื่อมต่ออุปกรณ์ที่ทำงานช้า เช่น เครื่องอ่านการ์ดและสายโทรคมนาคม ช่องสัญญาณมัลติเพล็กเซอร์แบบไบต์อาจมีช่องสัญญาณย่อยแบบตัวเลือกหลายช่อง โดยแต่ละช่องมีเพียงช่องสัญญาณย่อยเดียว ซึ่งทำงานเหมือนช่องสัญญาณตัวเลือกความเร็วต่ำ
  • ช่องเลือกสัญญาณ (selector channel)มีเพียงช่องย่อยเดียว ดังนั้นจึงสามารถประมวลผลคำสั่งช่องสัญญาณได้ครั้งละหนึ่งคำสั่งเท่านั้น โดยปกติจะใช้สำหรับเชื่อมต่ออุปกรณ์ความเร็วสูงที่ไม่สามารถใช้ช่องมัลติเพล็กเซอร์แบบบล็อกเพื่อระงับการเชื่อมต่อได้ เช่น ไดรฟ์เทปแม่เหล็ก
  • ช่องมัลติเพล็กเซอร์แบบบล็อกสามารถเรียกใช้โปรแกรมหลายช่องพร้อมกันได้ แต่จะมีเพียงโปรแกรมเดียวที่ใช้งานได้ในเวลาเดียวกัน หน่วยควบคุมสามารถขอระงับการทำงานเมื่อสิ้นสุดคำสั่งช่องสัญญาณ และสามารถขอให้ดำเนินการต่อในภายหลังได้ คุณสมบัตินี้มีไว้สำหรับอุปกรณ์ที่มีความล่าช้าทางกลไกหลังจากการถ่ายโอนข้อมูลเสร็จสิ้น เช่น การค้นหาข้อมูลบน DASD แบบหัวอ่านเคลื่อนที่ ช่องมัลติเพล็กเซอร์แบบบล็อกถูกเพิ่มเข้ามาในภายหลังในสถาปัตยกรรม System/360 เครื่องรุ่นแรกๆ มีเพียงช่องมัลติเพล็กเซอร์แบบไบต์และช่องตัวเลือกเท่านั้น ช่องมัลติเพล็กเซอร์แบบบล็อกเป็นคุณสมบัติเสริมเฉพาะในรุ่น 85 และ 195 เท่านั้น ช่องมัลติเพล็กเซอร์แบบบล็อกยังมีให้ใช้งานในคอมพิวเตอร์System/370 รุ่นหลังๆ ด้วย

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

อุปกรณ์ต่อพ่วงจะถูกระบุด้วย ที่อยู่16 บิต[ m ] [ 2 ] : 89 เรียกว่าcuaหรือcuuบทความนี้จะใช้คำว่าcuuบิต 8 บิตบนสุดระบุช่องสัญญาณ ซึ่งมีหมายเลขตั้งแต่ 0 ถึง 6 [ c ]ในขณะที่บิต 8 บิตล่างระบุอุปกรณ์บนช่องสัญญาณนั้น อุปกรณ์หนึ่งอาจมีที่อยู่ cuu หลายรายการ

หน่วยควบคุมจะได้รับการกำหนดช่วงที่อยู่ "การจับยึด" ตัวอย่างเช่น หน่วยควบคุมอาจได้รับการกำหนดช่วง 20-2F หรือ 40-7F จุดประสงค์ของเรื่องนี้คือเพื่อช่วยในการเชื่อมต่อและจัดลำดับความสำคัญของหน่วยควบคุมหลายหน่วยเข้ากับช่องสัญญาณ ตัวอย่างเช่น ช่องสัญญาณอาจมีหน่วยควบคุมดิสก์สามหน่วยที่ 20-2F, 50-5F และ 80-8F ที่อยู่ทั้งหมดที่จับยึดได้ไม่จำเป็นต้องมีอุปกรณ์ทางกายภาพที่กำหนดไว้ หน่วยควบคุมแต่ละหน่วยจะถูกทำเครื่องหมายว่าเป็นลำดับความสำคัญสูงหรือต่ำในช่องสัญญาณด้วย

การเลือกอุปกรณ์จะดำเนินการจากช่องสัญญาณไปยังแต่ละหน่วยควบคุมตามลำดับที่เชื่อมต่อกับช่องสัญญาณนั้นๆ เมื่อถึงปลายสุดของห่วงโซ่ กระบวนการเลือกจะดำเนินต่อไปในทิศทางย้อนกลับไปยังช่องสัญญาณ หากการเลือกกลับไปยังช่องสัญญาณ แสดงว่าไม่มีหน่วยควบคุมใดรับคำสั่ง และ SIO จะส่งคืนรหัสเงื่อนไข 3 หน่วยควบคุมที่ถูกกำหนดให้มีลำดับความสำคัญสูงจะตรวจสอบ CUU ขาออกว่าอยู่ในระยะของตนหรือไม่ หากใช่ การประมวลผล I/O จะเกิดขึ้น หากไม่ใช่ การเลือกจะถูกส่งต่อไปยัง CU ขาออกถัดไป หน่วยควบคุมที่ถูกกำหนดให้มีลำดับความสำคัญต่ำจะตรวจสอบ CUU ขาเข้า (ที่ส่งกลับ) ว่าอยู่ในระยะของตนหรือไม่ หากใช่ การประมวลผล I/O จะเกิดขึ้น หากไม่ใช่ การเลือกจะถูกส่งต่อไปยัง CU ขาเข้าถัดไป (หรือช่องสัญญาณ) การเชื่อมต่อของหน่วยควบคุมสามหน่วยกับช่องสัญญาณอาจเป็นแบบ ABC และหากทั้งหมดถูกกำหนดให้มีลำดับความสำคัญสูง ลำดับความสำคัญจะเป็น ABC หากทั้งหมดถูกกำหนดให้มีลำดับความสำคัญต่ำ ลำดับความสำคัญจะเป็น CBA หาก B ถูกกำหนดให้มีลำดับความสำคัญสูงและ AC ถูกกำหนดให้มีลำดับความสำคัญต่ำ ลำดับจะเป็น BCA หากขยายแนวคิดนี้ต่อไป ตัวควบคุมตัวแรกจากทั้งหมด N ตัวจะมีลำดับความสำคัญ 1 (สูง) หรือ 2N-1 (ต่ำ) ตัวที่สองมีลำดับความสำคัญ 2 หรือ 2N-2 ตัวที่สามมีลำดับความสำคัญ 3 หรือ 2N-3 เป็นต้น และตัวควบคุมตัวสุดท้ายที่เชื่อมต่อทางกายภาพจะมีลำดับความสำคัญ N เสมอ

มีพื้นที่จัดเก็บข้อมูลสามส่วนที่สงวนไว้สำหรับการรับส่งข้อมูล (I/O) ได้แก่ PSW เก่าแบบดับเบิลเวิร์ดสำหรับ I/O, PSW ใหม่แบบดับเบิลเวิร์ดสำหรับ I/O และChannel Address Word ( CAW ) แบบเต็มเวิร์ด การดำเนินการ I/O โดยปกติแล้วต้องใช้สิ่งต่อไปนี้:

  • เริ่มต้นใช้งานCAWด้วยคีย์จัดเก็บข้อมูลและที่อยู่ของ CCW ตัวแรก
  • ออก คำสั่ง Start I/O ( SIO ) ที่ระบุcuuสำหรับการดำเนินการ
  • รอ[ n ]การขัดจังหวะ I/O
  • จัดการกับสภาวะผิดปกติใดๆ ที่ระบุไว้ในคำสถานะช่องสัญญาณ ( CSW )

โปรแกรมช่องสัญญาณประกอบด้วยลำดับของคำสั่งควบคุมช่องสัญญาณ ( CCW ) ที่เชื่อมต่อกัน (ดูด้านล่าง) โดยปกติช่องสัญญาณจะดึงCCWจากคำคู่ที่ต่อเนื่องกัน แต่หน่วยควบคุมสามารถสั่งให้ช่องสัญญาณข้าม CCW ได้ และCCW แบบ Transfer In Channel ( TIC ) สามารถสั่งให้ช่องสัญญาณเริ่มดึงCCWจากตำแหน่งใหม่ได้

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

วิธีที่พบบ่อยที่สุดสำหรับการดำเนินการคำสั่งให้เสร็จสมบูรณ์คือ เมื่อจำนวนครั้งหมดลงเมื่อไม่ได้ตั้งค่า chain-data และหน่วยควบคุมส่งสัญญาณว่าไม่ควรทำการถ่ายโอนข้อมูลเพิ่มเติมอีกต่อไป หากไม่ได้ตั้งค่า Suppress-Length-Indication (SLI) และเกิดเหตุการณ์ใดเหตุการณ์หนึ่งโดยไม่เกิดอีกเหตุการณ์หนึ่ง การเชื่อมต่อคำสั่งจะไม่ได้รับอนุญาต สถานการณ์ที่พบบ่อยที่สุดที่ระงับการเชื่อมต่อคำสั่งคือ unit-exception และ unit-check อย่างไรก็ตาม การรวมกันของ unit-check และ status-modifier ไม่ได้ระงับการเชื่อมต่อคำสั่ง แต่จะทำให้ช่องสัญญาณทำการลองส่งคำสั่งซ้ำ โดยประมวลผล CCW เดิมอีกครั้ง

นอกเหนือจากสัญญาณขัดจังหวะที่ส่งไปยัง CPU เมื่อการดำเนินการ I/O เสร็จสมบูรณ์แล้ว ช่องสัญญาณยังสามารถส่งสัญญาณขัดจังหวะที่ควบคุมโดยโปรแกรม (PCI) ไปยัง CPU ในขณะที่โปรแกรมของช่องสัญญาณกำลังทำงานอยู่ โดยไม่ยุติการดำเนินการ และยังสามารถส่งสัญญาณขัดจังหวะเมื่อสิ้นสุดการทำงานของอุปกรณ์แบบหน่วงเวลาหลังจากสัญญาณขัดจังหวะการเสร็จสิ้น I/O ได้อีกด้วย

สถานะช่องสัญญาณ

เงื่อนไขเหล่านี้จะถูก ตรวจพบโดยช่องสัญญาณและระบุไว้ในCSW [ 28 ]

  • การขัดจังหวะที่ควบคุมโดยโปรแกรม[ 29 ]บ่งชี้ว่าช่องสัญญาณได้ดึง CCW โดยตั้งค่าบิต PCI ช่องสัญญาณจะดำเนินการประมวลผลต่อไป การขัดจังหวะนี้เพียงแค่แจ้งให้ CPU ทราบถึงความคืบหน้าของช่องสัญญาณ ตัวอย่างของการใช้การขัดจังหวะที่ควบคุมโดยโปรแกรมคือในฟังก์ชัน "การดึงโปรแกรม" ของการกำกับดูแลเนื้อหา ซึ่งโปรแกรมควบคุมจะได้รับแจ้งว่าได้อ่านเรคอร์ดควบคุม/การย้ายตำแหน่งแล้ว เพื่อให้แน่ใจว่าเรคอร์ดนี้ถูกอ่านลงในหน่วยความจำหลักอย่างสมบูรณ์ จะมีการเริ่ม "การหมุนบิตที่ปิดใช้งาน" ซึ่งเป็นหนึ่งในไม่กี่อย่างที่ยังคงอยู่ในโปรแกรมควบคุม ความพึงพอใจของการหมุนบ่งชี้ว่าเรคอร์ดควบคุม/การย้ายตำแหน่งอยู่ในหน่วยความจำหลักอย่างสมบูรณ์ และเรคอร์ดข้อความก่อนหน้าทันทีอาจถูกย้ายตำแหน่ง หลังจากย้ายตำแหน่งแล้ว NOP CCW จะเปลี่ยนเป็น TIC และโปรแกรมช่องสัญญาณจะดำเนินการต่อ ด้วยวิธีนี้ โมดูลโหลดทั้งหมดอาจถูกอ่านและย้ายตำแหน่งโดยใช้ EXCP เพียงตัวเดียว และอาจหมุนไดรฟ์ดิสก์เพียงรอบเดียว PCI ยังมีแอปพลิเคชันในการจัดการบัฟเฟอร์วิธีการเข้าถึงการประมวลผลทางไกลด้วย
  • ความยาวไม่ถูกต้อง[ 30 ]บ่งชี้ว่าการถ่ายโอนข้อมูลสำหรับคำสั่งเสร็จสมบูรณ์ก่อนที่จำนวนจะหมดลง การบ่งชี้นี้จะถูกระงับหาก บิต Suppress-Length-Indicationใน CCW ถูกตั้งค่า
  • การตรวจสอบโปรแกรม[ 30 ]ระบุข้อผิดพลาดอย่างใดอย่างหนึ่งต่อไปนี้
    • บิตที่ไม่ใช่ศูนย์ในตำแหน่งที่ต้องการศูนย์
    • ข้อมูลไม่ถูกต้องหรือที่อยู่ CCW ไม่ถูกต้อง
    • CAW หรือ TIC หมายถึง TIC
  • การตรวจสอบการป้องกัน[ 31 ]ระบุว่าคีย์การป้องกันใน CAW ไม่เป็นศูนย์และไม่ตรงกับคีย์การป้องกันการจัดเก็บ
  • การตรวจสอบข้อมูลช่องสัญญาณ[ 32 ]บ่งชี้ว่ามีข้อผิดพลาดพาริตี้ระหว่างการถ่ายโอนข้อมูล
  • การตรวจสอบการควบคุมช่องสัญญาณ[ 32 ]บ่งชี้ถึงความผิดปกติของช่องสัญญาณอื่นนอกเหนือจากการตรวจสอบข้อมูลช่องสัญญาณหรือการตรวจสอบการควบคุมอินเทอร์เฟ
  • การตรวจสอบการควบคุมอินเทอร์เฟซ[ 32 ]บ่งชี้ว่ามีสัญญาณที่ไม่ถูกต้องในช่องเพื่อควบคุมอินเทอร์เฟซของหน่วย
  • การตรวจสอบการเชื่อมโยง[ 32 ]บ่งชี้ว่าข้อมูลสูญหายระหว่างการเชื่อมโยงข้อมูล

สถานะหน่วย

เงื่อนไขเหล่านี้จะถูกส่งไปยังช่องสัญญาณโดยหน่วยควบคุมหรืออุปกรณ์[ 33 ]ในบางกรณี ช่องสัญญาณจะจัดการเงื่อนไขเหล่านี้ และในบางกรณี เงื่อนไขเหล่านี้จะถูกระบุไว้ในCSWไม่มีการแยกแยะระหว่างเงื่อนไขที่ตรวจพบโดยหน่วยควบคุมและเงื่อนไขที่ตรวจพบโดยอุปกรณ์

  • ความสนใจ[ 34 ]บ่งชี้ถึงสภาวะผิดปกติที่ไม่เกี่ยวข้องกับโปรแกรมช่องสัญญาณที่กำลังดำเนินอยู่ มักจะบ่งชี้ถึงการกระทำของผู้ปฏิบัติงานบางอย่าง เช่น การขอข้อมูลเข้า ซึ่งในกรณีนี้ CPU จะตอบสนองโดยการออกคำสั่งประเภทอ่าน โดยส่วนใหญ่จะเป็นคำสั่ง sense (04h) ซึ่งสามารถอนุมานข้อมูลเพิ่มเติมได้ ความสนใจเป็นสภาวะพิเศษ และต้องการการสนับสนุนระบบปฏิบัติการเฉพาะ และระบบปฏิบัติการจะมีตารางความสนใจพิเศษ [ o ]ที่มีจำนวนรายการจำกัด
  • ตัวแก้ไขสถานะ[ 35 ] (SM) บ่งชี้ถึงเงื่อนไขที่ผิดปกติหนึ่งในสามประการ
    • มีการออกคำสั่งทดสอบการรับส่งข้อมูล (Test I/O instruction) ไปยังอุปกรณ์ที่ไม่รองรับคำสั่งดังกล่าว
    • สถานะ " ไม่ว่าง"หมายถึงหน่วยควบคุม ไม่ใช่ตัวอุปกรณ์
    • อุปกรณ์ตรวจพบสภาวะที่ต้องข้าม CCW โดยปกติแล้ว CCW ที่มีคำสั่งซึ่งสามารถใช้ Status Modifier ได้ จะระบุการเชื่อมโยงคำสั่ง ซึ่งในกรณีนี้ SM จะถูกประมวลผลโดยช่องสัญญาณและไม่ทำให้เกิดการขัดจังหวะ
รายการช่องทั่วไปที่เกิด SM ขึ้นคือ
 ... ค้นหารหัสเท่ากับ TIC *-8 อ่านข้อมูล 
โดยที่ TIC จะทำให้ช่องสัญญาณดึงข้อมูลการค้นหาใหม่จนกว่าอุปกรณ์จะระบุว่าการค้นหาสำเร็จโดยการยกสัญญาณ SM ขึ้น

คำที่อยู่ช่องสัญญาณ

คำ เต็มChannel Address Word [ 2 ] : 99 (CAW) ประกอบด้วยคีย์ป้องกันการจัดเก็บ 4 บิตและที่อยู่ 24 บิตของโปรแกรมช่องสัญญาณที่จะเริ่มต้น

คำสั่งช่องสัญญาณ

คำสั่งช่องสัญญาณ (Channel Command Word)คือคำสองคำที่ประกอบด้วยสิ่งต่อไปนี้:

รหัสคำสั่ง CCW

บิตลำดับต่ำ 2 หรือ 4 บิตจะกำหนดการดำเนินการหกประเภทที่ช่องสัญญาณดำเนินการ[ 2 ] : 100, 105 การเข้ารหัสคือ

รหัสคำสั่ง CCW
บิต สั่งการ
**** 0000 ไม่ถูกต้องในทิศทางทวนเข็มนาฬิกา ซึ่งจำลองโดยคำสั่ง Test I/O (TIO) ของโปรเซสเซอร์
MMMM 0100 ความหมาย[ 44 ]
**** 1000 การถ่ายโอนในช่องสัญญาณ (TIC) [ 45 ]
MMMM 1100 อ่านย้อนกลับ[ 46 ]
MMMM MM01 เขียน[ 47 ]
MMMM MM10 อ่าน[ 47 ]
MMMM MM11 การควบคุม[ 44 ]

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

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

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

ความแตกต่างที่น่าสนใจจากสถาปัตยกรรมดั้งเดิมคือ DASD ใช้รหัสคำสั่ง Sense สำหรับการสำรองและการปล่อย แทนที่จะใช้รหัสคำสั่ง Control

ธง CCW

ค่าแฟล็กในคำสั่ง CCW จะส่งผลต่อวิธีการทำงานและการยุติการทำงานของคำสั่งนั้น

ธง CCW
นิดหน่อย ธง ผล
32 ซีดี ข้อมูลลูกโซ่ ดำเนินการต่อไปโดยใช้พื้นที่จัดเก็บที่กำหนดโดย CCW ถัดไป[ 48 ]
33 ซีซี ลำดับชั้นการบังคับบัญชา ดำเนินการต่อด้วยคำสั่งใน CCW ต่อไป[ 49 ]
34 ลื่น]การระบุความยาวการระงับ ดำเนินโปรแกรมช่องสัญญาณต่อไปหลังจากจำนวนไม่ตรงกัน[ 50 ]
35 ข้าม ข้าม ห้ามอ่านหรือเขียนข้อมูลลงในหน่วยความจำ[ 51 ]
36 พีซีไอ การขัดจังหวะที่ควบคุมด้วยโปรแกรม ร้องขอการขัดจังหวะเมื่อดึงข้อมูล CCW [ 52 ]

คำแสดงสถานะช่อง

คำสถานะช่องสัญญาณ (CSW) [ 2 ] : 113–121 ให้ข้อมูลที่เกี่ยวข้องกับการขัดจังหวะ I/O

รูปแบบ CSW
บิต สนาม
0-3 กุญแจ[ 53 ]
4-7 0000
8-31 ที่อยู่คำสั่ง[ 53 ]
32-47 สถานะ[ 54 ]
32-39
เงื่อนไขสถานะหน่วย[ 33 ]
ตรวจพบโดยอุปกรณ์หรือหน่วยควบคุม
32
ความสนใจ[ 34 ]
33
ตัวแก้ไขสถานะ[ 35 ]
34
สิ้นสุดหน่วยควบคุม[ 36 ]
35
ยุ่ง[ 37 ]
36
สิ้นสุดช่อง[ 38 ]
37
ปลายอุปกรณ์[ 38 ]
38
การตรวจสอบหน่วย[ 39 ]
39
ข้อยกเว้นหน่วย[ 40 ]
40-47
เงื่อนไขสถานะช่องสัญญาณ[ 28 ]
ตรวจพบโดยช่องสัญญาณ
40
การขัดจังหวะที่ควบคุมโดยโปรแกรม[ 29 ]
41
ความยาวไม่ถูกต้อง[ 30 ]
42
ตรวจสอบโปรแกรม[ 30 ]
43
การตรวจสอบการป้องกัน[ 31 ]
44
การตรวจสอบข้อมูลช่องสัญญาณ[ 32 ]
45
การตรวจสอบการควบคุมช่องสัญญาณ[ 32 ]
46
การตรวจสอบการควบคุมอินเทอร์เฟซ[ 32 ]
47
การตรวจสอบการเชื่อมโยง[ 32 ]
48-63 จำนวน[ 55 ]
  • ฟิลด์Protection Keyประกอบด้วยคีย์ป้องกันจาก CAW ในขณะที่การดำเนินการ I/O เริ่มต้นสำหรับ I/O เสร็จสมบูรณ์หรือการขัดจังหวะ PCI [ 53 ]
  • ฟิลด์ที่อยู่คำสั่งประกอบด้วยที่อยู่ + 8 ของ CCW ตัวสุดท้ายที่ดึงมาสำหรับ I/O เสร็จสมบูรณ์หรือการขัดจังหวะ PCI อย่างไรก็ตาม มีข้อยกเว้น 9 ประการ[ 53 ]
  • ฟิลด์สถานะประกอบด้วย บิต สถานะช่องสัญญาณ หนึ่งไบต์ ซึ่งระบุเงื่อนไขที่ตรวจพบโดยช่องสัญญาณ[ 28 ]และ บิต สถานะหน่วย หนึ่งไบต์ ซึ่งระบุเงื่อนไขที่ตรวจพบโดยหน่วย I/O [ 33 ]ไม่มีการแยกความแตกต่างระหว่างเงื่อนไขที่ตรวจพบโดยหน่วยควบคุมและเงื่อนไขที่ตรวจพบโดยอุปกรณ์
  • จำนวนที่เหลืออยู่คือครึ่งคำที่ให้จำนวนไบต์ในพื้นที่ที่อธิบายโดย CCW ที่ยังไม่ได้ถ่ายโอนไปยังหรือจากช่องสัญญาณ[ 55 ]ความแตกต่างระหว่างจำนวนใน CCW และจำนวนที่เหลืออยู่จะให้จำนวนไบต์ที่ถ่ายโอน

คำสั่งอินพุต/เอาต์พุต

S/360 มีคำสั่ง I/O สี่ คำสั่ง [ 56 ]ได้แก่ เริ่ม I/O (SIO), ทดสอบ I/O (TIO), หยุด I/O (HIO) และทดสอบช่องสัญญาณ (TCH) คำสั่งทั้งสี่นี้เป็นคำสั่งพิเศษ ดังนั้นหากใช้ในสถานะที่มีปัญหา จะทำให้โปรแกรมการทำงานพิเศษหยุดทำงาน ฟิลด์ B 1 (ฐาน) และ D 1 (การเลื่อน) ใช้ในการคำนวณ cuu (ช่องสัญญาณและหมายเลขอุปกรณ์) บิตที่ 8-15 ของคำสั่งไม่ได้ใช้งานและควรเป็นศูนย์เพื่อความเข้ากันได้กับ S/370

เริ่มการรับส่งข้อมูล (SIO)

SIO [ 57 ]พยายามเริ่มต้นโปรแกรมช่องที่ชี้โดยCAWโดยใช้คีย์ป้องกันการจัดเก็บใน CAW

การทดสอบอินพุต/เอาต์พุต (TIO)

TIO [ 58 ] ทดสอบสถานะของช่องสัญญาณและอุปกรณ์ นอกจากนี้ยังสามารถจัดเก็บCSWซึ่งในกรณีนี้จะเสร็จสมบูรณ์ด้วยรหัสเงื่อนไข 1

หยุดการทำงานของ I/O (HIO)

HIO [ 59 ]พยายามยุติโปรแกรมช่องสัญญาณที่ใช้งานอยู่ นอกจากนี้ยังสามารถจัดเก็บCSWซึ่งในกรณีนี้จะเสร็จสมบูรณ์ด้วยรหัสเงื่อนไข 1

ช่องทดสอบ (TCH)

TCH [ 60 ]ทดสอบสถานะของช่องสัญญาณ ไม่ส่งผลกระทบต่อสถานะของโปรแกรมช่องสัญญาณที่ใช้งานอยู่และไม่เก็บCSWไว้

การควบคุมของผู้ปฏิบัติงาน

การควบคุมของผู้ปฏิบัติงาน

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

  • คำสั่ง System Resetจะส่งสัญญาณรีเซ็ตไปยังทุกช่องสัญญาณ I/O และล้างสถานะของโปรเซสเซอร์ การขัดจังหวะที่ค้างอยู่ทั้งหมดจะถูกยกเลิก คำสั่ง System Reset ไม่รับประกันว่าจะแก้ไขข้อผิดพลาดพาริตีในรีจิสเตอร์ทั่วไป รีจิสเตอร์จุดลอยตัว หรือหน่วยเก็บข้อมูลได้ คำสั่ง System Reset จะไม่รีเซ็ตสถานะของอุปกรณ์ I/O ที่ใช้ร่วมกัน
  • การโหลดโปรแกรมเริ่มต้น (IPL) [ 61 ]เป็นกระบวนการสำหรับการโหลดโปรแกรมเมื่อไม่มีตัวโหลดพร้อมใช้งานในหน่วยความจำ โดยปกติเนื่องจากเครื่องเพิ่งเปิดเครื่องหรือเพื่อโหลดระบบปฏิบัติการทางเลือก[ 2 ] : 123 บางครั้งกระบวนการนี้เรียกว่าการบูต
ในส่วนหนึ่งของฟังก์ชัน IPL ผู้ปฏิบัติงานมีวิธีการระบุที่อยู่ของอุปกรณ์ 12 บิต[ c ]โดยทั่วไปจะใช้แป้นหมุนสามอันดังแสดงในภาพวาดการควบคุมของผู้ปฏิบัติงาน เมื่อผู้ปฏิบัติงาน[ q ]เลือก ฟังก์ชัน โหลดระบบจะทำการรีเซ็ตระบบส่งคำสั่งอ่านช่อง IPL [ r ]ไปยังอุปกรณ์ที่เลือกเพื่ออ่าน 24 ไบต์ลงในตำแหน่ง 0-23 และทำให้ช่องเริ่มดึงCCWที่ตำแหน่ง 8 ผลที่ได้คือเหมือนกับว่าช่องได้ดึง CCW จากตำแหน่ง 0 ที่มีความยาว 24 ที่อยู่ 0 และแฟล็กที่มี Command Chaining + Suppress Length Indication เมื่อการดำเนินการเสร็จสิ้น ระบบจะจัดเก็บที่อยู่ I/O ในครึ่งเวิร์ดที่ตำแหน่ง 2 และโหลด PSW จากตำแหน่ง 0
โดยทั่วไป การโหลดโปรแกรมเริ่มต้นจะทำจากเทป เครื่องอ่านการ์ด หรือฮาร์ดไดรฟ์ โดยทั่วไปแล้ว ระบบปฏิบัติการจะถูกโหลดจากฮาร์ดไดรฟ์ การโหลดโปรแกรมเริ่มต้นจากเทปหรือการ์ดจะใช้เฉพาะสำหรับการวินิจฉัยปัญหาหรือการติดตั้งระบบปฏิบัติการบนคอมพิวเตอร์เครื่องใหม่เท่านั้น
  • สวิตช์ดึงฉุกเฉิน[ 62 ] (ปิดเครื่องฉุกเฉิน, EPO) จะส่งสัญญาณ EPO ไปยังช่อง I/O ทุกช่อง จากนั้นจะปิดไฟไปยังชุดประมวลผล เนื่องจาก EPO จะข้ามลำดับการปิดเครื่องตามปกติ จึงอาจเกิดความเสียหายได้ และการควบคุม EPO จะมีสลักเชิงกลเพื่อให้แน่ใจว่าวิศวกรของลูกค้าจะตรวจสอบอุปกรณ์ก่อนที่จะพยายามเปิดเครื่องอีกครั้ง
  • การเปิดเครื่อง[ 62 ]จะเปิดส่วนประกอบทั้งหมดของคอมเพล็กซ์โปรเซสเซอร์และทำการรีเซ็ตระบบ
  • การปิดเครื่อง[ 62 ]เริ่มลำดับการปิดเครื่องอย่างเป็นระเบียบ แม้ว่าเนื้อหาในที่เก็บข้อมูลจะยังคงอยู่ แต่คีย์เก็บข้อมูลที่เกี่ยวข้องอาจสูญหายได้
  • ปุ่มขัดจังหวะ[ 62 ]ทำให้เกิดการขัดจังหวะภายนอก โดย มีบิต 25 ตั้งค่าใน External Old PSW
  • ไฟWait [ 62 ]แสดงว่าPSWมีบิต 14 (รอ) ตั้งค่าไว้ โปรเซสเซอร์จะหยุดชั่วคราว แต่จะกลับมาทำงานต่อเมื่อเกิดสภาวะขัดจังหวะ
  • ไฟManual [ 62 ]แสดงว่า CPU อยู่ในสถานะหยุดทำงาน
  • ไฟระบบ[ 62 ]แสดงว่ามิเตอร์กำลังทำงานอยู่ ไม่ว่าจะเนื่องมาจากกิจกรรมของ CPU หรือเนื่องมาจากกิจกรรมของช่องสัญญาณ I/O
  • ไฟทดสอบ[ 62 ]บ่งชี้ว่าการควบคุมผู้ปฏิบัติงานบางอย่างทำงานอยู่ เมื่อสิ่งอำนวยความสะดวกบางอย่าง เช่น ขั้นตอนคำแนะนำ ถูกใช้โดยคำสั่งวินิจฉัย หรือเมื่อมีสภาวะความร้อนผิดปกติ รายละเอียดขึ้นอยู่กับรุ่น
  • ไฟแสดงการโหลด[ 62 ]จะเปิดขึ้นเมื่อ IPL และการเริ่มต้นภายนอก และจะปิดลงเมื่อโหลด PSW จากตำแหน่ง 0 เมื่อกระบวนการโหลดเสร็จสิ้น
  • หน่วยโหลด[ 63 ] ควบคุมให้บิต 11 [ s ]ขวาสุดของอุปกรณ์เพื่อทำการ IPL
  • ปุ่มLoad [ 64 ]เริ่มลำดับIPL
  • สวิตช์คีย์เลือกคำนำหน้า[ 64 ]จะเลือกว่าIPLจะใช้คำนำหน้าหลักหรือคำนำหน้าทางเลือก
  • ปุ่มรีเซ็ตระบบ [ 64 ] เริ่มการรีเซ็ตระบบ
  • ปุ่มStop [ 64 ]จะทำให้ CPU อยู่ในสถานะหยุดทำงาน โปรแกรมช่องสัญญาณยังคงทำงานต่อไป และเงื่อนไขการขัดจังหวะยังคงรอการดำเนินการ
  • สวิตช์อัตรา[ 64 ]กำหนดโหมดที่โปรเซสเซอร์ดึงคำสั่ง โดยสถาปัตยกรรมกำหนดโหมดไว้ 2 โหมด:
    • กระบวนการ
    • ขั้นตอนคำแนะนำ
  • ปุ่มStart [ 64 ] จะเริ่มการ ดึงคำสั่งตามการตั้งค่าของRate Switch
  • สวิตช์เลือกพื้นที่จัดเก็บ[ 65 ]จะกำหนดประเภทของทรัพยากรที่เข้าถึงโดยคีย์จัดเก็บและคีย์แสดงผลสถาปัตยกรรมกำหนดตัวเลือกสามแบบ:
    • พื้นที่จัดเก็บหลัก
    • ทะเบียนทั่วไป
    • รีจิสเตอร์จุดลอยตัว
  • สวิตช์ที่อยู่[ 65 ]ระบุที่อยู่หรือหมายเลขรีจิสเตอร์สำหรับคีย์ร้านค้าคีย์แสดงผลและในบางรุ่นคีย์ตั้งค่า IC ..
  • สวิตช์ข้อมูล[ 65 ]ระบุข้อมูลสำหรับคีย์ร้านค้าและในบางรุ่นคีย์ชุด IC
  • คีย์ร้านค้า [ 65 ] จะเก็บค่าไว้ในสวิตช์ข้อมูลตามที่ระบุโดยสวิตช์เลือกพื้นที่จัดเก็บและสวิตช์ที่อยู่
  • ปุ่มแสดงผล[ 65 ]จะแสดงค่าที่ระบุโดยสวิตช์เลือกพื้นที่จัดเก็บและสวิตช์ที่อยู่
  • Set IC= [ 65 ]จะตั้งค่าส่วนที่อยู่คำสั่งของ PSW จากสวิตช์ข้อมูลหรือสวิตช์ที่อยู่ ขึ้นอยู่กับรุ่น
  • สวิตช์เปรียบเทียบที่อยู่[ 65 ]จะเลือกโหมดการเปรียบเทียบและสิ่งที่เปรียบเทียบ การหยุดเมื่อเปรียบเทียบที่อยู่คำสั่งมีอยู่ในทุกโมเดล แต่การหยุดเมื่อเปรียบเทียบที่อยู่ข้อมูลมีอยู่เฉพาะในบางโมเดลเท่านั้น
  • ไฟคำนำหน้าทางเลือก[ 65 ]จะสว่างขึ้นเมื่อทริกเกอร์คำนำหน้าอยู่ในสถานะทางเลือก

คุณสมบัติเสริม

ตัวถูกดำเนินการที่จัดเรียงตามไบต์

ในบางรุ่น เช่นS/360-85 [ 9 ] ข้อกำหนดการจัดเรียงสำหรับคำ สั่งสถานะปัญหาบางคำสั่งได้รับการผ่อนปรน ไม่มีกลไกในการปิดคุณสมบัตินี้ และโปรแกรมที่ขึ้นอยู่กับการรับประเภทการตรวจสอบโปรแกรม 6 (การจัดเรียง) บนคำสั่งเหล่านั้นจะต้องได้รับการแก้ไข

เลขคณิตทศนิยม

คุณสมบัติการคำนวณเลขฐานสิบมีคำสั่งที่ใช้กับข้อมูลเลขฐานสิบแบบแพ็ค (packed decimal) เลขฐานสิบแบบแพ็คประกอบด้วยตัวเลข 1-31 หลัก ตามด้วยเครื่องหมาย 4 บิต คำสั่งการคำนวณเลขฐานสิบทั้งหมด ยกเว้น PACK และ UNPACK จะสร้างข้อผิดพลาดข้อมูล (Data exception) หากตัวเลขไม่อยู่ในช่วง 0-9 หรือเครื่องหมายไม่อยู่ในช่วง AF

การควบคุมโดยตรง

คุณสมบัติการควบคุมโดยตรง[ 66 ]ให้สายสัญญาณภายนอกหกเส้นและเส้นทางข้อมูล 8 บิตไป/กลับจากหน่วยเก็บข้อมูล[ 67 ]

เลขคณิตจุดลอยตัว

คุณสมบัติการคำนวณเลขทศนิยมมีรีจิสเตอร์เลขทศนิยม 64 บิตจำนวน 4 ตัว และคำสั่งสำหรับการคำนวณเลขทศนิยมฐานสิบหก 32 และ 64 บิต นอกจากนี้ โปรเซสเซอร์ 360/85 และ 360/195 ยังรองรับเลขทศนิยมความแม่นยำสูง 128 บิตอีกด้วย

ตัวจับเวลาช่วงเวลา

หากติดตั้งคุณสมบัติจับเวลาช่วงเวลา[ 2 ] : 17.1 โปรเซสเซอร์จะลดคำที่ตำแหน่ง 80 ('50'X) เป็นระยะๆ สถาปัตยกรรมไม่ได้ระบุช่วงเวลา แต่กำหนดให้ค่าที่ลบออกนั้นดูเหมือนว่ามีการลบ 1 ออกจากบิต 23 300 ครั้งต่อวินาที รุ่นที่เล็กกว่าจะลดค่าที่ความถี่เดียวกัน (50 Hz หรือ 60 Hz) กับแหล่งจ่ายไฟ AC แต่รุ่นที่ใหญ่กว่าจะมีคุณสมบัติจับเวลาที่มีความละเอียดสูง โปรเซสเซอร์จะทำให้เกิดการขัดจังหวะภายนอกเมื่อตัวจับเวลาเป็นศูนย์

การทำงานหลายระบบ

การทำงานของระบบหลายระบบ[ 68 ]คือชุดคุณสมบัติเพื่อรองรับระบบมัลติโปรเซสเซอร์ เช่นการควบคุมโดยตรงการย้ายตำแหน่งที่อยู่โดยตรง (การใส่คำนำหน้า)

การป้องกันการจัดเก็บ

หากติดตั้งคุณสมบัติการป้องกันการจัดเก็บข้อมูล[ 2 ] : 17-17.1 แล้ว จะมีคีย์จัดเก็บข้อมูล 4 บิตที่เชื่อมโยงกับบล็อกจัดเก็บข้อมูลขนาด 2,048 ไบต์ทุกบล็อก และคีย์นั้นจะถูกตรวจสอบเมื่อจัดเก็บข้อมูลลงในที่อยู่ใดๆ ในบล็อกนั้นโดย CPU หรือช่องสัญญาณ I/O คีย์ CPU หรือช่องสัญญาณเป็น 0 จะปิดใช้งานการตรวจสอบ คีย์ CPU หรือช่องสัญญาณที่ไม่ใช่ศูนย์จะอนุญาตให้จัดเก็บข้อมูลได้เฉพาะในบล็อกที่มีคีย์ที่ตรงกันเท่านั้น

ระบบป้องกันการเขียนทับข้อมูล (Storage Protection) ถูกใช้เพื่อป้องกันไม่ให้แอปพลิเคชันที่ทำงานผิดพลาดเขียนทับข้อมูลของระบบปฏิบัติการหรือแอปพลิเคชันอื่น ซึ่งทำให้สามารถทำการทดสอบควบคู่ไปกับการใช้งานจริงได้ เนื่องจากรหัสลับมีความยาวเพียงสี่บิต จำนวนแอปพลิเคชันที่สามารถทำงานพร้อมกันได้สูงสุดจึงอยู่ที่ 15 แอปพลิเคชัน

ตัวเลือกเพิ่มเติมที่มีในบางรุ่นคือการป้องกันการดึงข้อมูล (fetch protection) ซึ่งช่วยให้ระบบปฏิบัติการสามารถระบุได้ว่าบล็อกข้อมูลใดได้รับการปกป้องจากการดึงข้อมูล รวมถึงจากการจัดเก็บข้อมูลด้วย

การเบี่ยงเบนและการขยาย

System /360 Model 20นั้นแตกต่างอย่างสิ้นเชิงและไม่ควรนับว่าเป็น S/360

คอมพิวเตอร์System/360 รุ่น 44ขาดคำสั่งบางอย่าง แต่มีคุณสมบัติที่ช่วยให้สามารถจำลองคำสั่งที่ขาดหายไปเหล่านั้นในหน่วยความจำที่ซ่อนอยู่ ทำให้สามารถใช้งานระบบปฏิบัติการและแอปพลิเคชันมาตรฐานของ S/360 ได้

บางรุ่นมีคุณสมบัติที่ต่อยอดจากสถาปัตยกรรมเดิม เช่น คำสั่งจำลองการทำงาน การแบ่งหน้าหน่วยความจำ และบางรุ่นอาจมีการเปลี่ยนแปลงเล็กน้อยจากสถาปัตยกรรมเดิม ตัวอย่างเช่น:

  • คุณสมบัติมัลติซิสเต็มบน S/360-65 ซึ่งปรับเปลี่ยนพฤติกรรมของฟีเจอร์ควบคุมโดยตรงและคำสั่ง Set System Mask (SSM) [ 21 ]
  • รุ่นSystem/360 Model 67 -2 มีการเปลี่ยนแปลงที่คล้ายกันแต่ไม่เข้ากัน[ 11 ]

การเปลี่ยนแปลงบางส่วนถูกนำมาใช้เป็นต้นแบบสำหรับคุณลักษณะต่างๆ ของสถาปัตยกรรม S/370

ดูเพิ่มเติม

หมายเหตุ

  1. ^มีขนาดใหญ่กว่า System/370 รุ่นหลังถึงสองเท่า
  2. ^การกำหนดค่ารีจิสเตอร์ทั่วไป 0 จะให้ค่าแอดเดรสฐานเป็นศูนย์ แทนที่จะเป็นค่าเนื้อหาของรีจิสเตอร์
  3. ^ a b cบนโปรเซสเซอร์ที่สอดคล้องกับสถาปัตยกรรม S/360 หมายเลขช่องสัญญาณสูงสุดคือ 6 บิตสิบเอ็ดบิตเพียงพอที่จะระบุ cuu และบิตเจ็ดบิตเพียงพอที่จะให้การปิดกั้นการขัดจังหวะ I/O อย่างไรก็ตาม บน 360/67-2 ที่มีตัวควบคุมช่องสัญญาณ 2846 สองตัว ช่องสัญญาณจะมีหมายเลข 0-6 และ 8-14 [ 11 ] : 15 ในทำนองเดียวกัน 360/195 มีคุณสมบัติช่องสัญญาณแบบขยาย[ 10 ] : 21 แต่กำหนดหมายเลขช่องสัญญาณเป็น 0 ถึง 13 [ 10 ] : 25 การขัดจังหวะ I/O สำหรับตัวควบคุมช่องสัญญาณ 1 บน 360/67-2 ถูกปิดกั้นโดยใช้รีจิสเตอร์ควบคุม และ 360/195 ใช้บิต 7 (ช่องสัญญาณ 6) ของ System Mask เป็นบิตมาสก์สรุปสำหรับช่องสัญญาณ 6 ขึ้นไปการขัดจังหวะจากช่องสัญญาณมากกว่าเจ็ดช่อง[ 12 ]อธิบายการปิดบังโดยสรุปสำหรับช่องสัญญาณเพิ่มเติม แต่ข้อความอื่นในหลักการทำงานยังคงอ้างถึงขีดจำกัดที่ 7 ช่องสัญญาณ ซอฟต์แวร์มาตรฐานรองรับช่องสัญญาณ 0-F
  4. เนื่องจากการออกแบบ S/360 เกิดขึ้นพร้อมกับการพัฒนา ASCII ดังนั้นการรองรับ ASCII ของ IBM จึงไม่ตรงกับมาตรฐานที่นำมาใช้ในที่สุด
  5. ^รุ่นต่อจาก S/360 ได้เพิ่มคำสั่งเพิ่มเติม
  6. ^เอกสารเกี่ยวกับ S/360 ไม่ได้ใช้คำว่า ความผิดพลาด หรือกับดัก
  7. ^ a bบน 360/91, [ 20 ] : 15 360/95 และ 360/195 [ 10 ] : 14 a การขัดจังหวะโปรแกรมอาจเกิดขึ้นสำหรับข้อยกเว้นที่ไม่แม่นยำหลายรายการ ILC ในโปรแกรม Old PSW คือ 0 บิต 26-31 คือ 0 และบิต 16-27 คือมาสก์ที่ระบุว่าเกิดข้อยกเว้นใดขึ้น ไม่มีข้อกำหนดสำหรับการรายงานการเกิดข้อยกเว้นเดียวกันหลายครั้ง การรายงานข้อยกเว้นที่ไม่แม่นยำหลายรายการไม่ได้เป็นส่วนหนึ่งของสถาปัตยกรรม S/360
  8. ^ a b c dมีข้อยกเว้นที่เป็นไปได้ 17 รายการบน 360/67 [ 11 ] : 17 แต่ข้อยกเว้นหน้าและข้อยกเว้นส่วนไม่ได้เป็นส่วนหนึ่งของสถาปัตยกรรม S/360 ในทำนองเดียวกัน รหัสการขัดจังหวะ 18 ('0012'X) บนมัลติโปรเซสเซอร์ 360/65 ไม่ได้เป็นส่วนหนึ่งของสถาปัตยกรรม S/360
  9. ^บิตข้อมูลจำเพาะไม่ได้ใช้สำหรับการขัดจังหวะที่ไม่แม่นยำบน 360/195
  10. ^ a bไม่ได้ใช้ใน 360/91
  11. ^รหัส PSW 0 จะตรงกับรหัสจัดเก็บข้อมูลใดๆ ก็ได้
  12. แม้ว่าการหมดเวลาของตัวจับเวลาจะเป็นเหตุการณ์ภายใน แต่ก็ทำให้เกิดการขัดจังหวะภายนอก และด้วยเหตุนี้ การขัดจังหวะนี้จึงมักเรียกว่าการขัดจังหวะจากตัวจับเวลา/ภายนอก
  13. ^เนื่องจากข้อจำกัดเรื่องจำนวนช่องสัญญาณ ซอฟต์แวร์ S/360 และ S/370 รุ่นแรกๆ จึงใช้เพียง 12 บิตในการจัดเก็บที่อยู่ของอุปกรณ์
  14. ^แต่ขอพูดถึงงานอื่นที่ไม่เกี่ยวข้องต่อ
  15. ^ระบบปฏิบัติการใช้ดัชนีความสนใจใน Unit Control Block (UCB) เป็นดัชนีในการเข้าถึงตารางความสนใจ
  16. ^หรือเรียกอีกอย่างว่า Suppress Incorrect Length Indication (SILI)
  17. ^หรือสิ่งอำนวยความสะดวกอัตโนมัติที่เทียบเท่ากัน
  18. ^อ่านโดยตั้งค่าบิตตัวดัดแปลงทั้งหมดเป็นศูนย์
  19. ^มีความไม่สอดคล้องกัน เนื่องจากมีการขัดจังหวะจากช่องสัญญาณมากกว่าเจ็ดช่อง[ 12 ]ทำให้มีช่องสัญญาณมากขึ้น

อ่านเพิ่มเติม

  • Prasad, NS (1989). IBM Mainframes . McGraw-Hill. ISBN 0070506868.— บทที่ 3 (หน้า 41–110) อธิบายสถาปัตยกรรมของ System/360
  • ไกรเนอร์, แดน (10 สิงหาคม 2554). "คุณสมบัติของซีพียู IBM z/Architecture - มุมมองทางประวัติศาสตร์" (PDF) . วิวัฒนาการของสถาปัตยกรรมเมนเฟรมของ IBM . SHARE 117 ในออร์แลนโด . SHARE . เซสชั่น 9220. สืบค้นเมื่อ7 กุมภาพันธ์ 2566 .
  • ความรู้เบื้องต้นเกี่ยวกับสถาปัตยกรรมของ IBM System/360 (ตำราเรียน)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=IBM_System/360_architecture&oldid=1356298644#LPSW "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ สถาปัตยกรรม IBM System/360

สถาปัตยกรรม IBM System/360 เป็น สถาปัตยกรรม ที่ไม่ขึ้นกับรุ่น สำหรับ คอมพิวเตอร์เมนเฟรม ตระกูล S/360 ทั้งหมดรวมถึงแต่ไม่จำกัดเฉพาะ สถาปัตยกรรมชุดคำสั่ง...

คุณสมบัติ

สถาปัตยกรรม System/360 มีคุณสมบัติดังต่อไปนี้:

หน่วยความจำ

หน่วยความจำ ( พื้นที่จัดเก็บ ) ใน System/360 ถูกกำหนดแอดเดรสใน หน่วยไบต์ 8 บิต คำสั่งต่างๆ ทำงานกับหน่วยที่ใหญ่กว่าที่เรียกว่า halfword (2 ไบต์), fullword (4 ไบต์), doubleword (8 ไบต์), quadword (16 ไบต์) และบล็อกพื้นที่จัดเก็บ 2048 ไบต์ โดยระบุแอดเดรสซ้ายสุด...

การแก้ไขปัญหา

System/360 ใช้การกำหนดแอดเดรสแบบตัดทอนคล้ายกับUNIVAC III [ 8 ] นั่นหมายความว่าคำสั่งจะไม่ประกอบด้วยแอดเดรสที่สมบูรณ์ แต่จะระบุรีจิสเตอร์ฐานและค่าออฟเซ็ตบวกจากแอดเดรสในรีจิสเตอร์ฐาน ในกรณีของ System/360 แอดเดรสฐานจะอยู่ในรีจิสเตอร์ทั่วไป 1 ใน 15 [ b ] ตัว...