ระบบ IBM/3
IBM System/3 รุ่น 10 ในMuseo Nazionale della Scienza e della Tecnologiaมิลาน | |
| พิมพ์ | คอมพิวเตอร์ระดับกลาง |
|---|---|
| ปล่อยแล้ว | 1969 ( 1969 ) |
ราคาโปรโมชั่นแนะนำ | ค่าเช่า 1,000 ดอลลาร์ต่อเดือน |
| เลิกผลิตแล้ว | 1985 ( 1985 ) |
| หน่วยความจำ | 4,096 ไบต์ |
| ผู้มาก่อน | คอมพิวเตอร์ตระกูล IBM 1400 ; คอมพิวเตอร์ IBM System/360รุ่นเริ่มต้น (รุ่น20 , 25และ30 ) |
| ผู้สืบทอด | IBM System/32 , IBM System/34 |
| ภาษา | IBM RPG II |
IBM System/3 [ 1 ]เป็นคอมพิวเตอร์ระดับกลางของ IBM ที่เปิดตัวในปี 1969 [ 2 ]และวางจำหน่ายจนถึงปี 1985 ผลิตโดยIBM Rochesterในรัฐมินนิโซตาในฐานะคอมพิวเตอร์ธุรกิจระดับล่าง[ 3 ]ที่มุ่งเป้าไปที่องค์กรขนาดเล็กที่ยังคงใช้ คอมพิวเตอร์ IBM ซีรีส์ 1400หรืออุปกรณ์บันทึกข้อมูลแบบหน่วยเป็นสมาชิกตัวแรกของสิ่งที่ IBM เรียกว่ากลุ่มผลิตภัณฑ์ "ระดับกลาง" และยังแนะนำ ภาษาการเขียนโปรแกรม RPG II อีกด้วย เป็นบรรพบุรุษตัวแรกของกลุ่มผลิตภัณฑ์ที่มีเวอร์ชันปัจจุบันคือIBM i ซีรีส์ ซึ่งรวมถึง AS/400ที่ประสบความสำเร็จอย่างสูง
ประวัติศาสตร์

เมื่อเปิดตัวในปี พ.ศ. 2512 มีให้เช่าในราคา 1,000 ดอลลาร์ต่อเดือน ซึ่งน้อยกว่าครึ่งหนึ่งของราคาIBM System/360 รุ่น 20 [ 4 ] ซึ่งเป็นสมาชิกที่เล็กที่สุดของตระกูล IBM System/360
เครื่อง System/3 รุ่น 10 รุ่นแรกๆ จำนวนมากถูกจัดส่งโดยไม่มีดิสก์จัดเก็บข้อมูล มีเพียงหน่วยประมวลผลการ์ดมัลติฟังก์ชั่น IBM 5424 (MFCU) รุ่นใหม่เท่านั้น ซึ่งสามารถอ่าน เจาะรู พิมพ์ และจัดเรียงการ์ดเจาะรูขนาดเล็กแบบใหม่ที่มี 96 คอลัมน์ซึ่งเปิดตัวพร้อมกัน
IBM ได้ส่งมอบโมเดลต่อไปนี้:
- ปี 1969 — IBM เปิดตัว 5410 หรือ System/3 รุ่น 10 (เริ่มจัดส่งในปี 1970)
- พ.ศ. 2513 — IBM 5406 หรือ System/3 รุ่น 6 เปิดตัว (ระบบที่เน้นดิสก์) [ 5 ] [ 6 ]
- ปี 1973 — IBM 5415 หรือ System/3 Model 15 เปิดตัว
- ปี 1974 — IBM 5408 หรือ System/3 รุ่น 8 เปิดตัว
- พ.ศ. 2518 — IBM 5412 หรือ System/3 Model 12 เปิดตัว[ 3 ]
- ปี 1976 — IBM 5404 หรือ System/3 Model 4 เปิดตัว
โดยทั่วไปแล้ว System/3 และรุ่นต่อมาSystem/32 , System/34 , System/36และSystem/38จะถูกเรียกในศัพท์เฉพาะของ IBM ว่า"ระบบระดับกลาง" [ 7 ] — ซึ่งตรงข้ามกับเมนเฟรมของ IBM
ฮาร์ดแวร์



IBM System/3 ได้รับการประกาศให้เป็นระบบคอมพิวเตอร์ที่ประกอบด้วย: [ 8 ]
- หน่วยประมวลผลกลาง IBM 5410 รุ่น 10
- หน่วยการ์ดมัลติฟังก์ชั่น (MFCU) IBM 5424
- เครื่องพิมพ์แบบบรรทัด IBM 5203
- หน่วยเก็บข้อมูลดิสก์ IBM 5444 (อุปกรณ์เสริม)
- แป้นพิมพ์เครื่องพิมพ์ IBM 5471
- แป้นพิมพ์ป้อนข้อมูล IBM 5475
- เครื่องบันทึกข้อมูล IBM 5496 เครื่องเจาะบัตรพร้อมฟังก์ชันพิมพ์และตรวจสอบข้อมูล
- เครื่องคัดแยกการ์ด IBM 5486
หน่วยความจำ
รุ่นเริ่มต้นมี หน่วยความจำแบบแกนแม่เหล็กเพียง 4K (4096) ไบต์เท่านั้น
พื้นที่จัดเก็บข้อมูลแบบเข้าถึงโดยตรง
สำหรับการจัดเก็บข้อมูลจำนวนมาก System/3 ใช้ดิสก์จานเดี่ยวIBM 5444 [ 8 ] ซึ่งมีขนาดประมาณพิซซ่าขนาดใหญ่ โดยในตอนแรกแต่ละจานสามารถเก็บข้อมูลได้ 2.5 MBการกำหนดค่ามาตรฐานสำหรับการจัดเก็บข้อมูลคือดิสก์แบบติดตั้งถาวรหนึ่งหรือสองตัว โดยแต่ละตัวอยู่ในลิ้นชักแบบดึงออกแยกกัน ซึ่งโดยทั่วไปจะเก็บระบบปฏิบัติการและโปรแกรมที่ผู้ใช้พัฒนาขึ้น นอกจากนี้ ดิสก์แบบติดตั้งถาวรแต่ละตัวยังสามารถต่อดิสก์ตลับแบบถอดได้ ซึ่งโดยทั่วไปจะบรรจุไฟล์ข้อมูลที่เกี่ยวข้องกับแอปพลิเคชันต่างๆ เช่น ระบบบัญชีเงินเดือน และผู้ใช้มักจะมีดิสก์ตลับจำนวนมาก ดังนั้นระบบระดับล่างจึงสามารถรองรับการจัดเก็บข้อมูลออนไลน์ได้สูงสุด 10 MB (แบบติดตั้งถาวรสองตัว แบบถอดได้สองตัว) แม้ว่าในทางปฏิบัติแล้วจะมีราคาแพงมากและไม่เป็นที่นิยมก็ตาม
คอมพิวเตอร์ System/3 ยังมีจำหน่ายพร้อมไดรฟ์ดิสก์ IBM 5445 (20MB) และต่อมาในรุ่น 15 ก็สามารถใช้ไดรฟ์แบบ "วินเชสเตอร์" 3340 ได้ ในรุ่นที่เล็กกว่านั้น แม้ว่าจะสามารถต่อไดรฟ์ 5445 ได้ แต่ก็ต้องเก็บไดรฟ์ 5444 ไว้สำหรับระบบปฏิบัติการและไลบรารีการเขียนโปรแกรมอื่นๆ อย่างไรก็ตาม ข้อจำกัดนั้นได้ถูกเปลี่ยนแปลงด้วยซอฟต์แวร์ที่ชื่อว่า elimn8 ซึ่งอนุญาตให้ไดรฟ์ 5445 สามารถแทนที่ไดรฟ์ 5444 ได้อย่างสมบูรณ์ บริษัทอื่นๆ เช่น Memorex ก็ผลิตไดรฟ์ 5445 ที่ใช้งานร่วมกับ System/3 ได้เช่นกัน
หน่วยการ์ดมัลติฟังก์ชั่น
อุปกรณ์อ่านบัตรเจาะรูที่ใช้กันทั่วไปมากที่สุดคือ IBM 5424 Multifunction Card Unit (MFCU) ซึ่งอ่าน เจาะรู พิมพ์ และจัดเรียงบัตรเจาะรู ขนาดเล็กแบบใหม่ที่มี 96 คอลัมน์ แทนที่จะเป็นรูสี่เหลี่ยมผืนผ้าแบบในบัตร IBM แบบคลาสสิก 80 คอลัมน์ บัตรแบบใหม่มี รูเล็กๆ (1 มม.) เป็นวงกลมคล้ายกับเทปกระดาษ ข้อมูลถูกจัดเก็บในรหัส ไบนารีแบบเข้ารหัสทศนิยม 6 บิต โดยมี 3 แถว แถวละ 32 ตัวอักษร หรือใน EBCDIC 8 บิตโดยมีรูพิเศษ 2 รูอยู่ที่แถวบนสุด บัตรแบบใหม่มีพื้นที่สำหรับพิมพ์ตัวอักษร 128 ตัว ใน 4 แถว แถวละ 32 ตัวอักษร มีขนาดประมาณ 1/3 ของบัตร 80 คอลัมน์แบบเก่า แต่สามารถเก็บข้อมูลข้อความได้มากกว่า 20% บัตรที่มีขนาดเล็กกว่าและเบากว่าจึงสามารถประมวลผลได้ด้วยอุปกรณ์ที่เร็วขึ้นและมีปัญหาติดขัดน้อยลง
อุปกรณ์ที่สั่งผลิตพิเศษ ( RPQ ) สำหรับใช้งานกับบัตร 80 คอลัมน์ ได้แก่ เครื่องอ่านบัตรอเนกประสงค์ IBM 2560 (MFCM) ซึ่งสามารถอ่าน เจาะ วิเคราะห์ และจัดเรียงได้ และเครื่องIBM 1442ซึ่งสามารถอ่านและเจาะได้เท่านั้น
เทปแม่เหล็ก
สามารถใช้งานระบบจัดเก็บข้อมูลแบบออฟไลน์ได้โดยการซื้อไดรฟ์เทปภายนอก ซึ่งสามารถอ่านและเขียนเทป 9 แทร็ก มาตรฐานของ IBM ได้
System/3 Mod 10 มีระบบย่อยเทปแม่เหล็ก IBM 3410 เป็นตัวเลือกเสริม
สิ่งอำนวยความสะดวกคอนโซลผู้ปฏิบัติงาน
ระบบคอนโซลควบคุมการทำงาน (OCF) ของ System/3 ประกอบด้วยเครื่องพิมพ์ดีด IBM Selectric ที่ดัดแปลง แล้วเชื่อมต่อกับคอมพิวเตอร์ หรือ จอแสดงผล IBM 3270 ที่ออกแบบมาเพื่อวัตถุประสงค์เฉพาะ ภายใน OCF มีความสามารถในการ 'ยกเลิก' กระบวนการและ/หรืองานที่กำลังทำงานอยู่ รวมถึงพาร์ติชัน (P1 หรือ P2) ระบบสามารถเรียกใช้โปรแกรมได้พร้อมกันเพียงสองโปรแกรม ยกเว้นรุ่น 15 หรือระบบที่ใช้โปรแกรมควบคุมการสื่อสาร (CCP) CCP เป็นคุณลักษณะการเขียนโปรแกรมควบคุมระบบที่ช่วยให้รองรับเครือข่าย เทอร์ มินัล ออนไลน์ ได้
เครื่องพิมพ์

เครื่องพิมพ์ขนาดเล็กกว่า (IBM 5203) ถูกติดตั้งเข้ากับระบบหลัก เครื่องพิมพ์ 5203 เป็นเครื่องพิมพ์แบบต่อเนื่องที่มีตลับหมึกแบบถอดเปลี่ยนได้ สามารถทำงานได้ที่ความเร็ว 100 หรือ 200 บรรทัดต่อนาที ขึ้นอยู่กับรุ่น[ 9 ] ต่อมา IBM ได้นำเสนอเครื่องพิมพ์ IBM 1403หลายรุ่นซึ่งเดิมทีสร้างขึ้นสำหรับคอมพิวเตอร์IBM 1401
ฟลอปปี้ดิสก์
เมื่อระบบป้อนข้อมูล IBM 3740เข้ามา ระบบSystem/3 รุ่น 10 ก็ได้รับคุณสมบัติที่เรียกว่า LCA (local communication adaptor) ซึ่งช่วยให้สามารถ "เชื่อมต่อ" สถานี IBM 3741 เข้ากับระบบเพื่อส่ง/รับข้อมูลได้ รุ่นต่อมาของ System/3 เช่น รุ่น 8 นั้นไม่มีการ์ดและใช้ฟลอปปี้ดิสก์ขนาด 8 นิ้วแบบเดียวกับ 3740
ชุดคำสั่ง
ชุดคำสั่งได้รับการปรับให้เหมาะสมกับสองแง่มุมสำคัญของผลิตภัณฑ์ ได้แก่ หน่วยความจำหลักที่มีจำกัด และภาษาการเขียนโปรแกรม RPG II S/3 รุ่นแรก (รุ่น 10 และต่อมาคือ 6, 8 และ 12) มีคำสั่ง 29 คำสั่ง โดยแต่ละคำสั่งใช้พื้นที่ระหว่างสามถึงหกไบต์ (24 ถึง 48 บิต)
สี่บิตแรกสื่อความหมายได้มากมาย: "1111" หมายความว่าเป็นคำสั่งที่ไม่มีตัวถูกดำเนินการ หรือเรียกว่าคำสั่ง เช่น เริ่มการทำงาน I/O (โดยตัวดำเนินการ I/O ถูกกำหนดโดยรีจิสเตอร์ I/O ที่โหลดไว้ก่อนหน้านี้) "11xx" และ "xx11" หมายถึงคำสั่งที่มีตัวถูกดำเนินการหนึ่งตัว เช่น คำสั่งกระโดด (Branch) ถ้า xx เป็น 00 ตัวถูกดำเนินการจะถูกระบุด้วยที่อยู่ 16 บิตเต็ม ถ้า xx=01 หรือ 10 หมายถึงใช้การระบุที่อยู่แบบฐาน-ค่าเบี่ยงเบน โดยใช้รีจิสเตอร์ดัชนี 1 หรือ 2 ตามลำดับ ที่อยู่ฐานจะถูกโหลดไว้ในรีจิสเตอร์ดัชนีตัวใดตัวหนึ่งจากสองตัวนั้น และคำสั่งจะมีค่าเบี่ยงเบนสูงสุดเพียง 256 ไบต์ (การระบุที่อยู่แปดบิต)
รูปแบบอื่นๆ สำหรับ ครึ่งไบต์แรกนี้บ่งชี้ถึงคำสั่งที่มีตัวถูกดำเนินการสองตัว "0000" หมายความว่าตัวถูกดำเนินการทั้งสองตัวถูกระบุด้วยที่อยู่ 16 บิตโดยตรง "0100": ตัวถูกดำเนินการที่ 1 ใช้รีจิสเตอร์ (reg) 1 เป็นฐาน ตัวถูกดำเนินการที่ 2 ใช้การระบุที่อยู่โดยตรง "0110": ตัวถูกดำเนินการที่ 1 ใช้ reg 1 เป็นฐาน ตัวถูกดำเนินการที่ 2 ใช้ reg 2 และอื่นๆ
บิตที่เหลืออีกสี่บิตของไบต์แรกจะกำหนดคำสั่งเพิ่มเติม โครงสร้างนี้หมายความว่ามีความสามารถในการดำเนินการได้มากถึง 64 รายการ ได้แก่ คำสั่ง 16 คำสั่ง (แม้ว่าจะไม่เกินห้าคำสั่งตลอดทั้งผลิตภัณฑ์) คำสั่งแบบตัวถูกดำเนินการเดียว 16 คำสั่งที่ขึ้นต้นด้วย 11xx คำสั่งแบบตัวถูกดำเนินการเดียว 16 คำสั่งที่ขึ้นต้นด้วย xx11 และคำสั่งแบบตัวถูกดำเนินการสองตัว 16 คำสั่ง
นอกจากรีจิสเตอร์ดัชนีสองตัวที่กล่าวถึงไปแล้ว (เรียกว่า 1 และ 2 หรือเลขฐานสอง 01 และ 10) ยังมีรีจิสเตอร์อื่นๆ อีก "รีจิสเตอร์ 4" (0100) คือรีจิสเตอร์ที่อยู่คำสั่ง (IAR) ซึ่งชี้ไปยังคำสั่งปัจจุบัน "รีจิสเตอร์ 8" (1000) คือรีจิสเตอร์เรียกคืนที่อยู่ (ARR) ซึ่งถูกตั้งค่าโดยคำสั่งบางอย่าง หนึ่งในนั้นคือคำสั่งกระโดดแบบมีเงื่อนไข (ตัวย่อ BC) ซึ่งใช้รีจิสเตอร์นี้ชี้ไปยังไบต์ถัดจากคำสั่งกระโดดทันที สำหรับโปรแกรมเมอร์ที่คุ้นเคยกับพฤติกรรมของเมนเฟรม IBM นี่หมายความว่าการดำเนินการกระโดดใน S/3 สามารถเปรียบเทียบได้กับ BALR (รีจิสเตอร์กระโดดและเชื่อมโยง) แบบมีเงื่อนไข – มีประโยชน์มากเมื่อกระโดดไปยังซับรูทีน และกลับมาหลังจากประมวลผลเสร็จแล้ว สุดท้าย "รีจิสเตอร์ 16" (00010000) คือรีจิสเตอร์สถานะโปรแกรม (PSR) ซึ่งเก็บค่าต่างๆ เช่น ผลลัพธ์ของคำสั่งเปรียบเทียบ โปรดทราบว่ารีจิสเตอร์ใช้สำหรับการกำหนดที่อยู่และสถานะโปรแกรมเท่านั้น ไม่ได้ใช้สำหรับการคำนวณทางคณิตศาสตร์
คำสั่งทางคณิตศาสตร์ที่มีให้ในบรรดาคำสั่งทั้ง 29 คำสั่งนั้น ประกอบด้วยการบวก/ลบเลขฐานสอง (เพื่อช่วยในการจัดการที่อยู่) และการบวก/ลบเลขฐานสิบ การคูณและการหารนั้นไม่ได้มีให้ในฮาร์ดแวร์มาตรฐาน และต้องจัดการโดยรูทีนซอฟต์แวร์ ไม่มีการรองรับเลขทศนิยมเลย ทั้งหมดนี้ยังคงเป็นจริงแม้ในระบบ Systems/34 และ 36 รุ่นหลังๆ ซึ่งโดยทั่วไปแล้วมีความซับซ้อนกว่า
สิ่งที่กล่าวมาทั้งหมดมีความซับซ้อนมากขึ้นในระบบ System/3 รุ่น 15, Systems/34 และ /36 แม้ว่าจะยังคงใช้การกำหนดแอดเดรสแบบ 16 บิต แต่ระบบเหล่านี้สามารถรองรับหน่วยความจำหลักได้มากกว่า 64K (สูงสุด 512K และในทางทฤษฎีมากกว่านั้น) ดังนั้นจึงมีการใช้การแปลงแอดเดรสเพื่อสลับจากพื้นที่แอดเดรส 64K หนึ่งไปยังอีกพื้นที่หนึ่ง รีจิสเตอร์การแปลงแอดเดรส (Address Translation Registers หรือ ATRs) ถูกตั้งค่าเพื่อกำหนดพื้นที่แอดเดรสจริงที่ใช้งานอยู่ในแต่ละช่วงเวลา โดยเนื้อหาของรีจิสเตอร์เหล่านี้จะถูกนำไปรวมกับแอดเดรส 16 บิตที่โปรแกรมใช้เพื่อสร้างแอดเดรสจริง รีจิสเตอร์ "ATRs" เหล่านี้เป็นสิทธิ์พิเศษ มีให้เฉพาะระบบปฏิบัติการเท่านั้น
ไมโครคอนโทรลเลอร์ S/3 รุ่น 10 ดั้งเดิม (และรุ่น 12 ในภายหลัง) มีฟังก์ชันการทำงานแบบมัลติโปรแกรมมิ่งแบบง่ายๆ ที่เรียกว่า Dual Program Feature ซึ่งไม่ได้ให้การเข้าถึงหน่วยความจำหลักเพิ่มเติม แต่ให้ชุดรีจิสเตอร์และคำสั่งสองชุดที่สลับจาก "ระดับโปรแกรม" หนึ่งไปยังอีกระดับหนึ่ง นอกจากนี้ คำสั่ง I/O มาตรฐานยังได้รับการแก้ไขให้สลับเมื่อเริ่มการทำงาน I/O ด้วย
ที่ผ่านมา เราได้อธิบายเพียงไบต์แรกของคำสั่งเท่านั้น ไบต์ถัดไป ("Q") โดยทั่วไปจะเป็นตัวกำหนดคุณสมบัติ เช่น การระบุจำนวนไบต์ที่จะย้ายในคำสั่งย้ายอักขระ หรือเงื่อนไขที่จะทดสอบในคำสั่งกระโดด (Branch) คำสั่งบางคำสั่งใช้ไบต์นี้สำหรับตัวถูกดำเนินการ "ค่าคงที่" ขนาด 1 ไบต์ ไบต์ที่เหลือใช้สำหรับค่าการเคลื่อนย้ายหรือที่อยู่ของตัวถูกดำเนินการ หรือรายละเอียดสำหรับคำสั่งบางอย่าง
ตัวอย่างเช่น คำสั่งง่ายๆ อย่าง Conditional Jump ซึ่งเป็นสาขาแบบมีเงื่อนไขชนิดพิเศษ (ไปข้างหน้าเท่านั้น สูงสุด 256 ไบต์) เหมาะสำหรับการกระโดดข้ามบล็อกโค้ดสั้นๆ เป็นหลัก: ไบต์รหัสการทำงาน = F2 (นี่คือในรูปแบบเลขฐานสิบหก เลขฐานสิบหก F คือเลขฐานสอง 1111 เลขฐานสิบหก 2 (0010) กำหนดการทำงาน); ไบต์ Q = 00000001 ระบุว่าเราจะ "กระโดด" หากรีจิสเตอร์เงื่อนไขมีบิต "เท่ากับ" เปิดอยู่; ตัวดำเนินการ = 00011000: หากตรงตามเงื่อนไข เราจะกระโดดไปข้างหน้า 24 ไบต์
ตัวบ่งชี้ (Indicator) คือสวิตช์ไบนารีที่ใช้ควบคุมการไหลของโปรแกรม มีตัวบ่งชี้ให้โปรแกรมเมอร์เลือกใช้มากกว่า 100 ตัว โดยการใช้รูปแบบคำสั่งที่อธิบายไว้ข้างต้น การทำงานที่เน้นตัวบ่งชี้หลายอย่างสามารถบรรจุลงในไบต์เพียงสามไบต์ได้ ตัวอย่างเช่น บรรทัดของ RPG อาจทดสอบตัวบ่งชี้ว่า "เปิด" หรือไม่ โดยใช้สามไบต์สำหรับคำสั่ง "ทดสอบบิตเปิด" (Test Bits On) จากนั้นใช้สามไบต์สำหรับคำสั่งกระโดด (Jump) ดังที่ได้อธิบายไว้ก่อนหน้านี้ และมีประโยชน์สำหรับคอมไพเลอร์ RPG การประหยัดไบต์เล็กๆ น้อยๆ นั้นดีเมื่อคุณมีพื้นที่ใช้งานเพียง 64K เท่านั้น และบน S/3 เองนั้น ต้องรวมถึงระบบปฏิบัติการด้วย (ซึ่งขยายเป็นประมาณ 20K ในรุ่น 10 ด้วยการแนะนำ "โปรแกรมควบคุมการสื่อสาร" (CCP))
ภาษาควบคุมการทำงาน
ภาษาควบคุมงานอย่างง่ายที่เรียกว่า Operation Control Language (OCL) นั้น มีลักษณะคล้ายคลึงกับJob Control Language (JCL) ในแง่ผิวเผิน
คำสั่งควบคุมของผู้ปฏิบัติงาน
คำสั่งควบคุมของผู้ปฏิบัติงาน (OCCs) ถูกใช้ในการสื่อสารกับระบบ
ภาษา
ระบบ System/3 รองรับRPG II , Fortran IV , COBOLและAssembler [ 10 ]
คอมไพเลอร์ RPG II
ระบบ System/3 มาพร้อมกับ คอมไพเลอร์ RPG II เป็นมาตรฐาน ในระบบที่ใช้การ์ดเพียงอย่างเดียว คอมไพเลอร์ RPG II จะทำงานเป็นสองขั้นตอน ขั้นตอนแรกจะถูกบูตจากช่องรับข้อมูลช่องหนึ่งของ MFCU จากนั้นซอร์สโค้ดจะถูกอ่านตามคอมไพเลอร์ แบบฟอร์มระดับกลางจะถูกเจาะลงบนการ์ด ซึ่งจะถูกอ่านโดยขั้นตอนที่สองของคอมไพเลอร์ จากนั้นโปรแกรมที่สามารถเรียกใช้งานได้จะถูกเจาะลงบนการ์ด โปรแกรมที่สามารถเรียกใช้งานได้นี้จะถูกบูต ("IPL" หรือ "Initial Program Load") เพื่อทำการประมวลผลที่ต้องการ กระบวนการนี้อาจใช้เวลานานกว่าหนึ่งชั่วโมงสำหรับโปรแกรมขนาดใหญ่
ปัญหาเกี่ยวกับระบบ/3
ระบบ System/3 ไม่มีฟังก์ชันสำหรับการหยุดกระบวนการทำงานเมื่อเริ่มทำงานไปแล้ว ตัวอย่างเช่น หากการคอมไพล์ล้มเหลวเนื่องจากข้อผิดพลาดในหน้าแรก ผู้ใช้ต้องรอให้รายการคอมไพล์ซึ่งบางครั้งอาจมีขนาดใหญ่มาก พิมพ์ออกมาจนเสร็จสมบูรณ์ ผู้ใช้จึงเรียนรู้ที่จะเอื้อมมือไปใต้เครื่องพิมพ์และเขย่ารางส่งกระดาษ ซึ่งจะทำให้เครื่องหยุดทำงานและแสดงข้อความ "P3" (ข้อผิดพลาดของเครื่องพิมพ์) จากนั้นผู้ใช้สามารถป้อนรหัสตอบกลับ FF เพื่อยกเลิกการทำงานได้ อีกวิธีหนึ่งในการหยุดการทำงานคือการกดปุ่ม "เริ่ม" สีเขียวบนแผงควบคุม ซึ่งจะทำให้ระบบรีบูต
รหัสข้อผิดพลาดจะแสดงบนจอแสดงผลแบบเจ็ดส่วน สองหลัก (ซึ่งเป็นหนึ่งในจอแสดงผลรุ่นแรกๆ และสร้างด้วยหลอดไฟแทนที่จะเป็น LED) รหัสข้อผิดพลาดประกอบด้วยตัวเลขฐานสิบและฐานสิบหก (เนื่องจากจอแสดงผลแบบเจ็ดส่วนเป็นที่นิยมใช้กัน) รวมถึงตัวอักษรอื่นๆ อีกจำนวนหนึ่ง ตัวอย่างเช่น "P3" เป็นหนึ่งในรหัสข้อผิดพลาดของเครื่องพิมพ์หลายรหัส คู่มือหนาๆ ที่มาพร้อมกับ System/3 ช่วยผู้ใช้งานในการตีความรหัสข้อผิดพลาดและแนะนำขั้นตอนการแก้ไขปัญหา System/3 ไม่มีอุปกรณ์เตือนด้วยเสียง ดังนั้นโปรแกรมที่ไม่ได้พิมพ์ อ่านการ์ด หรือไม่ก่อให้เกิดกิจกรรมอื่นๆ ที่เห็นได้ชัด อาจหยุดทำงานและผู้ใช้งานจะไม่รู้เว้นแต่จะมองไปที่จอแสดงสถานะ รุ่นที่มีคุณสมบัติ Dual Program จะมีจอแสดงสถานะแยกกันสองจอ
ผู้ใช้ส่วนใหญ่ไม่ได้ซื้อเครื่องคอนโซล แต่โค้ด OCL ถูกระงับโดยสิ้นเชิงหรือพิมพ์ออกมาทางเครื่องพิมพ์ 5203 แทน เครื่องคอนโซลที่ IBM นำเสนอนั้นทำให้การทำงานของโปรแกรมช้าลงอย่างมากเมื่อพิมพ์คำสั่ง OCL เนื่องจากโดยพื้นฐานแล้วมันก็คือเครื่องพิมพ์ดีดไฟฟ้าชนิด หนึ่ง นั่นเอง
แนวคิดเรื่องการป้อนข้อมูลด้วยบัตรเจาะรูผ่านคอนโซลนั้นเป็นเพียงกลยุทธ์ทางการตลาด ในความเป็นจริงแล้ว System/3 ไม่สามารถเป็นทั้งคอมพิวเตอร์และเครื่องเจาะรูในเวลาเดียวกันได้ ดังนั้นเมื่อใช้งานในโหมดเจาะรู จะไม่สามารถประมวลผลข้อมูลได้ IBM System/3 รุ่นแรกที่เปิดตัวในเดือนกรกฎาคม 1969 มีคอนโซลสำหรับเจาะรูเพื่อให้สามารถนำเสนอคอมพิวเตอร์ในราคาต่ำกว่า 2,000 ดอลลาร์ต่อเดือนได้ แต่ในความเป็นจริงแล้วมันใช้งานไม่ได้จริง และผู้ใช้ส่วนใหญ่จึงต้องซื้อเครื่องเจาะรู/ตรวจสอบข้อมูลแบบแยกต่างหากมาใช้แทน
ต่อมา บริษัท OEM หลายแห่งได้สร้างเครื่องเจาะบัตร เครื่องจัดเรียง และเครื่องเรียงเอกสารแบบ 96 คอลัมน์ ซึ่งช่วยลดภาระงานหนักของ MFCU และทำให้ System/3 สามารถทำงานด้านการคำนวณจริงได้มากขึ้น
ผู้ใช้งาน System/3 ที่มีประสบการณ์ส่วนใหญ่มักลดการใช้งาน MFCU ให้น้อยที่สุดเท่าที่จะเป็นไปได้ เนื่องจากเป็นคอขวดของระบบ
การจำลอง
ระบบ System/32 , IBM System/34และIBM System/36รุ่นต่อมาทั้งหมดสามารถเรียกใช้แอปพลิเคชัน System/3 ผ่านการจำลองได้
ระบบ System/32 ใช้ โปรเซสเซอร์ แบบไมโครโค้ด แนวตั้ง โดยมีคำไมโครโค้ด 16 บิต ซึ่งจำลองชุดคำสั่ง System/3 ในรูปแบบไมโครโค้ด แต่ค่อนข้างช้า ทั้ง System/34 และ System/36 ต่างก็มีโปรเซสเซอร์สองตัว ได้แก่ โปรเซสเซอร์ควบคุมและจัดเก็บข้อมูล (CSP) เช่นเดียวกับใน System/32 ซึ่งทำหน้าที่จัดการการทำงานของระบบและการรับส่งข้อมูลส่วนใหญ่ และโปรเซสเซอร์จัดเก็บข้อมูลหลัก (MSP) โปรเซสเซอร์ตัวหลังนี้เป็นการนำโปรเซสเซอร์รุ่น 15 ของ System/3 มาสร้างใหม่ ซึ่งเป็นการจำลองฮาร์ดแวร์ของ System/3 อย่างมีประสิทธิภาพ
ดูเพิ่มเติม
อ่านเพิ่มเติม
- "ทุกสิ่งที่คุณอยากรู้เกี่ยวกับระบบ แต่ไม่มีใครบอกคุณ" โดย ชาร์ลี แมสโซเกลีย
- "การเรียงลำดับดิสก์ System/3 ในฐานะภาษาโปรแกรม" โดย ชาร์ลี แมสโซเกลีย
- "System/3 Programming RPG II" โดย Solomon Martin Bernard, 1972, ISBN 0-13-881698-0
- "ความรู้เบื้องต้นเกี่ยวกับการคำนวณ: IBM System/3" โดย เจอโรม ที. เมอร์เรย์, 1971, ISBN 0-04-510037-3
- "ระบบธุรกิจพร้อมการประมวลผลข้อมูลด้วยบัตรเจาะรูและ System/3 รุ่น 10" โดย FR Crawford, 1973, ISBN 0-13-107698-1
ลิงก์ภายนอก
- "IBM System/3" . คลังข้อมูลของ IBM. 23 มกราคม 2546. เก็บถาวรจากต้นฉบับเมื่อวันที่ 25 ตุลาคม 2550. เรียกดูเมื่อ วันที่ 29 พฤษภาคม 2549 .
- ฟิล์มต้นฉบับเก่าแก่จากราวปี 1969โครงการเก็บรักษาเอกสารประวัติศาสตร์คอมพิวเตอร์
- เครื่อง System/3 ที่อยู่ระหว่างการบูรณะที่ CoreStore
- เว็บไซต์ IBM System/3
- คู่มืออ้างอิงส่วนประกอบสำหรับระบบ IBM System/3 รุ่น 8, 10, 12 และ 15