อ่าน 14 นาที
พีดีพี-10
PDP-10 ของ Digital Equipment Corporation (DEC) ซึ่งต่อมาวางจำหน่ายในชื่อ DECsystem-10 เป็นตระกูล คอมพิวเตอร์เมนเฟรม [ 1 ] ที่ผลิตตั้งแต่ปี 1966 [ 2 ] ส่งมอบตั้งแต่เดือนธันวาคม...
พีดีพี-10
ระบบ DEC KI-10 ที่ใช้งานได้ ซึ่งเดิมอยู่ที่ Living Computers: Museum + Labs | |
| หรือรู้จักกันในชื่อ | ระบบดีซี-10 |
|---|---|
| นักพัฒนา | บริษัท ดิจิทัล อีสเทิร์น คอร์ปอเรชั่น |
กลุ่มผลิตภัณฑ์ | เครื่องประมวลผลข้อมูลแบบโปรแกรม |
| พิมพ์ | คอมพิวเตอร์เมนเฟรม |
| ปล่อยแล้ว | พ.ศ. 2509 |
| เลิกผลิตแล้ว | พ.ศ. 2526 |
| ITS , TOPS-10 , TENEX , WAITS , ระบบแบ่งเวลา ใช้งาน คอมพิวเตอร์ของ CompuServe | |
| แพลตฟอร์ม | พีดีพี 36 บิต |
| ผู้มาก่อน | พีดีพี-6 |
| ที่เกี่ยวข้อง | ระบบดีซี-20 |

PDP-10ของDigital Equipment Corporation (DEC) ซึ่งต่อมาวางจำหน่ายในชื่อDECsystem-10เป็นตระกูลคอมพิวเตอร์เมนเฟรม[ 1 ]ที่ผลิตตั้งแต่ปี 1966 [ 2 ]ส่งมอบตั้งแต่เดือนธันวาคม 1967 [ 3 ]และเลิกผลิตในปี 1983 [ 4 ] [ 5 ] [ 6 ]รุ่นในช่วงทศวรรษ 1970 และหลังจากนั้นวางจำหน่ายภายใต้ชื่อ DECsystem-10 โดยเฉพาะอย่างยิ่งเมื่อระบบปฏิบัติการTOPS-10 ถูกนำมาใช้กันอย่างแพร่หลาย [ a ]
สถาปัตยกรรมของ PDP-10 เกือบจะเหมือนกับPDP-6 รุ่น ก่อนหน้าของ DEC โดยใช้ความยาวคำ36 บิต เท่ากัน และขยายชุดคำสั่งเล็กน้อย ความแตกต่างหลักอยู่ที่การใช้งานฮาร์ดแวร์ที่ดีขึ้นอย่างมาก บางส่วนของ ชุดคำสั่งนั้นแปลกใหม่ โดยเฉพาะอย่างยิ่ง คำสั่ง ไบต์ซึ่งทำงานกับฟิลด์บิตที่มีขนาดใดก็ได้ตั้งแต่ 1 ถึง 36 บิต ตามคำจำกัดความทั่วไปของไบต์ว่าเป็นลำดับต่อเนื่องของจำนวนบิตคงที่ซึ่งแตกต่างจากคำจำกัดความสมัยใหม่ที่ว่า "แปดบิต"
คอมพิวเตอร์ PDP-10 พบได้ในห้องปฏิบัติการคอมพิวเตอร์และห้องวิจัยของมหาวิทยาลัยหลายแห่งในช่วงทศวรรษ 1970 โดยที่โดดเด่นที่สุด ได้แก่ ห้องปฏิบัติการ Aiken Computation Laboratory ของมหาวิทยาลัยฮาร์วาร์ด , ห้องปฏิบัติการ AI LabและProject MACของMIT , SAILของ มหาวิทยาลัย สแตนฟอร์ด , Computer Center Corporation (CCC), ETH (ZIR) และมหาวิทยาลัยคาร์เนกีเมลลอนระบบปฏิบัติการหลักของมันได้แก่ TOPS-10 และTENEXและITS ในระดับที่น้อยกว่า ในสถานที่สำคัญบางแห่ง ถูกนำมาใช้ในการสร้างเครือข่ายARPANET ในยุคแรก คำขนาด 36 บิตนั้นเหมาะสมอย่างยิ่งสำหรับภาษา Lisp ในเวลานั้น เพราะเมื่อแบ่งออกเป็นสองส่วน ส่วนละ 18 บิต เพื่อใช้เป็นตัวชี้ ทำให้สามารถเข้าถึงวัตถุได้ถึง 256,000 ชิ้น แทนที่จะเป็น 64,000 ชิ้น บนเครื่อง 32 บิตที่เทียบเท่ากัน ด้วยเหตุผลเหล่านี้ PDP-10 จึงมีบทบาทสำคัญในตำนานของแฮกเกอร์ยุค แรก
โครงการขยายสายผลิตภัณฑ์ PDP-10 ถูกบดบังด้วยความสำเร็จของซูเปอร์มินิคอมพิวเตอร์VAX ของ DEC ซึ่งไม่เกี่ยวข้องกับ PDP-10 และมีการประกาศยกเลิกสายผลิตภัณฑ์ PDP-10 ในปี 1983 ตามรายงาน DEC ขาย "DECsystem-10 ได้ประมาณ 1,500 เครื่องภายในสิ้นปี 1980" [ 7 ]
แบบจำลองและวิวัฒนาการทางเทคนิค



โปรเซสเซอร์ PDP-10 รุ่นดั้งเดิมคือ KA10 ซึ่งเปิดตัวในปี 1968 [ 8 ]มันใช้ทรานซิสเตอร์ แบบแยกส่วน ที่บรรจุใน เทคโนโลยี Flip-Chip ของ DEC โดยมีแบ็คเพลนที่พันด้วยสายไฟผ่านกระบวนการผลิตแบบกึ่งอัตโนมัติเวลาวงจรคือ 1 μs และเวลาบวกคือ 2.1 μs [ 9 ]ในปี 1973 KA10 ถูกแทนที่ด้วย KI10 ซึ่งใช้ตรรกะทรานซิสเตอร์-ทรานซิสเตอร์ (TTL) SSIต่อมาในปี 1975 ก็มี KL10 ที่เร็วกว่าออกมา ซึ่งสร้างจากตรรกะแบบอีมิเตอร์คัปเปิล (ECL) ไมโครโปรแกรมและมี หน่วยความจำ แคช ประสิทธิภาพของ KL10 อยู่ที่ประมาณ 1 เมกะฟลอปโดยใช้ตัวเลขจุดลอยตัว 36 บิตในการลดแถวเมทริกซ์ มันเร็วกว่า VAX-11/750รุ่นใหม่กว่าเล็กน้อยแม้ว่าจะมีหน่วยความจำที่จำกัดกว่าก็ตาม
KS10 ซึ่งเป็นรุ่นที่เล็กกว่าและราคาถูกกว่า เปิดตัวในปี 1978 โดยใช้ส่วนประกอบบิตสไลซ์ TTL และ Am2901 และรวมถึง PDP-11 Unibusสำหรับเชื่อมต่ออุปกรณ์ต่อพ่วง KS10 วางจำหน่ายในชื่อ DECSYSTEM-2020 ซึ่งเป็นส่วนหนึ่งของกลุ่มผลิตภัณฑ์ DECSYSTEM-20 เป็นผลิตภัณฑ์ของ DEC ใน ด้าน การประมวลผลแบบกระจายและเปิดตัวในฐานะ "ระบบคอมพิวเตอร์เมนเฟรมที่มีต้นทุนต่ำที่สุดในโลก" [ 10 ]
เคเอ10
KA10 มีความจุหน่วยความจำหลักสูงสุด (ทั้งเสมือนและทางกายภาพ) 256 กิโลเวิร์ด (เทียบเท่า 1152 กิโลไบต์ ) หน่วยความจำหลักขั้นต่ำที่ต้องการคือ 16 กิโลเวิร์ด ตามที่ DEC จัดหามานั้น ไม่ได้รวมฮาร์ดแวร์เพจจิ้ งไว้ด้วย การจัดการหน่วยความจำประกอบด้วยชุดรีจิสเตอร์ป้องกันและย้ายตำแหน่งสองชุด เรียกว่า รีจิสเตอร์ ฐานและรีจิสเตอร์ขอบเขตこれにより ทำให้แต่ละครึ่งของ พื้นที่แอดเดรสของผู้ใช้ถูกจำกัดไว้ในส่วนของหน่วยความจำหลักที่กำหนดไว้ โดยระบุจากแอดเดรสทางกายภาพฐานและขนาด これにより ทำให้สามารถใช้โมเดลของส่วนโค้ดที่อ่านได้อย่างเดียวที่ใช้ร่วมกันได้ (โดยปกติคือเซ็กเมนต์สูง) และ ส่วน ข้อมูล/ สแต็ ก ที่อ่านและเขียนได้ (โดยปกติคือเซ็กเมนต์ต่ำ) ที่แยกจากกัน ซึ่งใช้โดยTOPS-10และต่อมานำมาใช้โดยUnixได้ เครื่อง KA10 บางเครื่อง ซึ่งเริ่มแรกอยู่ที่ MIT และต่อมาอยู่ที่Bolt, Beranek และ Newman (BBN) ได้รับการดัดแปลงเพื่อเพิ่มหน่วยความจำเสมือน[ 11 ] [ 12 ]และรองรับการแบ่งหน้าตามความต้องการ[ 13 ] [ 14 ]และหน่วยความจำทางกายภาพเพิ่มเติม
KA10 มีน้ำหนักประมาณ 1,920 ปอนด์ (870 กิโลกรัม) [ 15 ]
10/50 เป็นเครื่อง KA แบบโปรเซสเซอร์เดี่ยวระดับสูงสุด[ 16 ]ในช่วงเวลาที่ แพ็คเกจซอฟต์แวร์ PA1050เปิดตัว รุ่น KA10 อีกสองรุ่นคือ 10/40 แบบโปรเซสเซอร์เดี่ยว และ 10/55 แบบโปรเซสเซอร์คู่[ 17 ] [ b ]
KI10
KI10 เป็นชิปประมวลผลที่รองรับการจัดการหน่วยความจำแบบเพจ และมีพื้นที่แอดเดรสทางกายภาพที่ใหญ่ขึ้นถึง 4 เมกะเวิร์ดรุ่น KI10 ประกอบด้วย 1060, 1070 และ 1077 โดยรุ่น 1077 มีซีพียูสองตัว
KL10

คอมพิวเตอร์รุ่น KL10 PDP-10 (หรือที่รู้จักในชื่อ DECsystem-10) รุ่นดั้งเดิม (1080, 1088 เป็นต้น) ใช้บัสหน่วยความจำ PDP-10 รุ่นดั้งเดิม โดยใช้โมดูลหน่วยความจำภายนอก ในที่นี้ โมดูลหมายถึงตู้ที่มีขนาดโดยประมาณ30 นิ้ว × 75 นิ้ว × 30 นิ้ว(กว้าง × สูง × ลึก)และมีความจุหน่วยความจำแบบแกนแม่เหล็ก 32 ถึง 256 กิโลวัตต์ ส่วนโปรเซสเซอร์ที่ใช้ในDECSYSTEM-20 (2040, 2050, 2060, 2065) ซึ่งมักเรียกกันอย่างไม่ถูกต้องว่า "KL20" นั้น ใช้หน่วยความจำภายในที่ติดตั้งอยู่ในตู้เดียวกันกับซีพียู นอกจาก นี้ รุ่น 10xx ยังมีบรรจุภัณฑ์ที่แตกต่างกัน โดยมาในตู้ PDP-10 ทรงสูงแบบดั้งเดิม แทนที่จะเป็นตู้ทรงเตี้ยที่ใช้ในภายหลังสำหรับ DECSYSTEM-20 ความแตกต่างระหว่างรุ่น 10xx และ 20xx นั้นอยู่ที่ระบบปฏิบัติการที่ใช้งานเป็นหลัก คือ TOPS-10 หรือTOPS-20นอกจากนั้นแล้ว ความแตกต่างส่วนใหญ่เป็นเพียงรูปลักษณ์ภายนอกมากกว่าการใช้งานจริง ระบบ 10xx บางระบบมีหน่วยความจำภายในและ I/O แบบ "20-style" และระบบ 20xx บางระบบมีหน่วยความจำภายนอกและบัส I/O แบบ "10-style" โดยเฉพาะอย่างยิ่ง ระบบ ARPAnet TOPS-20 ทุกระบบมีบัส I/O เนื่องจากอินเทอร์เฟซ AN20 IMPเป็นอุปกรณ์บัส I/O ทั้งสองระบบสามารถใช้งานไมโครโค้ด TOPS-10 หรือ TOPS-20 ได้ ดังนั้นจึงสามารถใช้งานระบบปฏิบัติการที่เกี่ยวข้องได้
รุ่น บี
โปรเซสเซอร์ 2060 รุ่น Model B ที่ออกมาภายหลังได้ยกเลิกข้อจำกัด 256 กิโลเวิร์ดในพื้นที่แอดเดรสเสมือน โดยรองรับ "ส่วน" ได้มากถึง 32 ส่วน แต่ละส่วนมีขนาดสูงสุด 256 กิโลเวิร์ด พร้อมกับการเปลี่ยนแปลงชุดคำสั่งอย่างมาก โปรเซสเซอร์ทั้งสองรุ่นจึงมีความแตกต่างกันอย่างสิ้นเชิง ระบบปฏิบัติการแรกที่ใช้ประโยชน์จากความสามารถของ Model B คือ TOPS-20 รุ่น 3 และการกำหนดแอดเดรสแบบขยายในโหมดผู้ใช้มีให้ใน TOPS-20 รุ่น 4 เวอร์ชัน TOPS-20 หลังรุ่น 4.1 ทำงานได้เฉพาะบน Model B เท่านั้น
TOPS-10 เวอร์ชัน 7.02 และ 7.03 ยังใช้การกำหนดแอดเดรสแบบขยายเมื่อทำงานบนโปรเซสเซอร์ 1090 (หรือ 1091) รุ่น B ที่ใช้ไมโครโค้ด TOPS-20
เอ็มซีเอ25
การอัปเกรดครั้งสุดท้ายของ KL10 คือการอัปเกรด MCA25 จาก 2060 เป็น 2065 (หรือจาก 1091 เป็น 1095) ซึ่งช่วยเพิ่มประสิทธิภาพการทำงานสำหรับโปรแกรมที่ทำงานในหลายส่วน
รถโดยสารประจำทาง
สถาปัตยกรรม I/O ของเครื่อง KL ซีรีส์ 20xx นั้นใช้การออกแบบบัสของ DEC ที่เรียกว่าMassbusแม้ว่าหลายคนจะยกความสำเร็จของ PDP-11 ให้กับการตัดสินใจของ DEC ที่จะทำให้ PDP-11 Unibus เป็นสถาปัตยกรรมแบบเปิด แต่ DEC ก็กลับไปใช้ปรัชญาเดิมกับ KL ทำให้ Massbus เป็นทั้งระบบเฉพาะและเป็นกรรมสิทธิ์ของ DEC ด้วยเหตุนี้ จึงไม่มีผู้ผลิตอุปกรณ์ต่อพ่วงรายอื่นที่ผลิตอุปกรณ์สำหรับ Massbus และ DEC เลือกที่จะตั้งราคาอุปกรณ์ Massbus ของตนเอง โดยเฉพาะอย่างยิ่งไดรฟ์ดิสก์ RP06 ในราคาที่สูงกว่าอุปกรณ์ที่เข้ากันได้กับ IBM ที่เทียบเคียงได้CompuServeเป็นหนึ่งในบริษัทที่ออกแบบตัวควบคุมดิสก์ทางเลือกของตนเองที่สามารถทำงานบน Massbus ได้ แต่เชื่อมต่อกับระบบย่อยดิสก์แบบ IBM 3330
โปรเซสเซอร์ส่วนหน้า

เครื่องคอมพิวเตอร์คลาส KL มีหน่วยประมวลผลส่วนหน้า PDP-11/40 สำหรับการเริ่มต้นระบบและการตรวจสอบ PDP-11 จะบูตจากไดรฟ์ดิสก์ RP06 แบบสองพอร์ต (หรือจาก ไดรฟ์ ฟลอปปี้ดิสก์ ขนาด 8 นิ้ว หรือDECtape ก็ได้ ) จากนั้นจึงสามารถสั่งการให้ PDP-11 เริ่มหน่วยประมวลผลหลัก ซึ่งโดยทั่วไปจะบูตจากไดรฟ์ดิสก์ RP06 เดียวกันกับ PDP-11 เมื่อหน่วยประมวลผลหลักทำงานแล้ว PDP-11 จะทำหน้าที่เป็นตัวตรวจสอบการทำงาน (watchdog)
การสื่อสารกับเมนเฟรมของ IBM รวมถึงการป้อนงานระยะไกล (RJE) ทำได้ผ่านโปรเซสเซอร์ส่วนหน้า DN61 หรือ DN-64 โดยใช้ PDP-11/40 หรือ PDP-11/34a [ 18 ] [ 19 ]
KS10

KS10 เป็น PDP-10 ราคาประหยัดที่สร้างขึ้นโดยใช้ ชิป AMD 2901 bit-sliceโดยมี ไมโครโปรเซสเซอร์ Intel 8080 A เป็นโปรเซสเซอร์ควบคุม[ 20 ]การออกแบบ KS10 ถูกจำกัดให้เป็นรุ่น A แม้ว่าจะมีเส้นทางข้อมูลที่จำเป็นส่วนใหญ่เพื่อรองรับสถาปัตยกรรมรุ่น B ก็ตาม ไม่ต้องสงสัยเลยว่านี่เป็นการแบ่งส่วนตลาดแต่กลับทำให้ผลิตภัณฑ์ KS10 มีอายุการใช้งานสั้นลงอย่างมาก
ระบบ KS ใช้ขั้นตอนการบูตที่คล้ายคลึงกับ KL10 โปรเซสเซอร์ควบคุม 8080 โหลดไมโครโค้ดจากดิสก์ RM03, RM80 หรือ RP06 หรือเทปแม่เหล็ก จากนั้นจึงเริ่มโปรเซสเซอร์หลัก โปรเซสเซอร์ 8080 จะเปลี่ยนโหมดหลังจากระบบปฏิบัติการบูตเสร็จ และควบคุมพอร์ตอนุกรมคอนโซลและการวินิจฉัยระยะไกล
ไดรฟ์เทปแม่เหล็ก
ระบบควบคุมเทปแม่เหล็ก TM10 รองรับ ไดรฟ์เทปสองรุ่น :
- ระบบลำเลียงเทปแม่เหล็ก TU20 – ความเร็ว 45 นิ้วต่อวินาที
- ระบบลำเลียงเทปแม่เหล็ก TU30 – ความเร็ว 75 นิ้วต่อวินาที
- ระบบลำเลียงเทปแม่เหล็ก TU45 – ความเร็ว 75 นิ้วต่อวินาที
สามารถรองรับการใช้งานอุปกรณ์เหล่านี้ได้สูงสุดถึงแปดตัว โดยใช้ทั้ง อุปกรณ์ 7 แทร็กหรือ9 แทร็ก TU20 และ TU30 มีให้เลือกทั้งรุ่น A (9 แทร็ก) และรุ่น B (7 แทร็ก) และไดรฟ์เทปทั้งหมดที่กล่าวมาข้างต้นสามารถอ่าน/เขียนข้อมูลจาก/ไปยังเทปที่เข้ากันได้กับ IBM ที่ความละเอียด 200 BPI , 556 BPI และ 800 BPI ได้
ตัวควบคุม TM10 Magtape มีให้เลือกสองรุ่นย่อย:
- TM10A ทำการขโมยรอบการทำงานจาก/ไปยังหน่วยความจำ PDP-10 โดยใช้หน่วยประมวลผลทางคณิตศาสตร์ KA10
- TM10B เข้าถึงหน่วยความจำ PDP-10 โดยใช้ช่องข้อมูล DF10 โดยไม่ต้อง "ขโมยรอบ" จากตัวประมวลผลเลขคณิต KA10 [ 21 ] : 49
สถาปัตยกรรมชุดคำสั่ง
ตั้งแต่เครื่อง PDP-6 รุ่นแรกจนถึง KL-10 และ KS-10 สถาปัตยกรรมชุดคำสั่ง ในโหมดผู้ใช้ ส่วนใหญ่ยังคงเหมือนเดิม ส่วนนี้จะกล่าวถึงสถาปัตยกรรมนั้น การเปลี่ยนแปลงที่สำคัญเพียงอย่างเดียวในสถาปัตยกรรมคือการเพิ่มการกำหนดแอดเดรสแบบขยายหลายส่วนใน KL-10 การกำหนดแอดเดรสแบบขยาย ซึ่งเปลี่ยนแปลงกระบวนการสร้างแอดเดรสที่มีประสิทธิภาพของคำสั่ง จะกล่าวถึงโดยย่อในตอนท้าย โดยทั่วไป ระบบจะมีคำและคำสั่งขนาด 36 บิต และแอดเดรสขนาด 18 บิต
ทะเบียน
โปรดทราบว่าลำดับการกำหนดหมายเลขบิตนั้นแตกต่างจากโปรเซสเซอร์ DEC รุ่นอื่นๆ และโปรเซสเซอร์รุ่นใหม่ๆ อีกหลายรุ่น | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
มีรีจิสเตอร์อเนกประสงค์ขนาด 36 บิตจำนวน 16 ตัว ครึ่งขวาของรีจิสเตอร์เหล่านี้ (ยกเว้นรีจิสเตอร์ 0) สามารถใช้สำหรับการกำหนดดัชนีได้ คำสั่งบางคำสั่งทำงานกับรีจิสเตอร์เป็นคู่ๆ รีจิสเตอร์ "PC Word" ถูกแบ่งออกเป็นสองส่วน ส่วนขวา 18 บิตบรรจุตัวนับโปรแกรมและส่วนซ้าย 13 บิตบรรจุแฟล็กสถานะของโปรเซสเซอร์โดยมีเลขศูนย์ห้าตัวคั่นระหว่างสองส่วน บิตของรีจิสเตอร์เงื่อนไข ซึ่งบันทึกผลลัพธ์ของการดำเนินการทางคณิตศาสตร์ ( เช่นการโอเวอร์โฟลว์) สามารถเข้าถึงได้โดยคำสั่งเพียงไม่กี่คำสั่งเท่านั้น
ในระบบ KA-10 ดั้งเดิม รีจิสเตอร์เหล่านี้เป็นเพียง 16 คำแรกของหน่วยความจำหลักตัวเลือกฮาร์ดแวร์ "รีจิสเตอร์เร็ว" จะสร้างรีจิสเตอร์เหล่านี้ใน CPU ซึ่งยังคงสามารถเข้าถึงได้เช่นเดียวกับหน่วยความจำ 16 คำแรก ซอฟต์แวร์บางตัวใช้ประโยชน์จากสิ่งนี้โดยใช้รีจิสเตอร์เป็นแคชคำสั่งโดยการโหลดโค้ดลงในรีจิสเตอร์แล้วกระโดดไปยังที่อยู่ที่เหมาะสม ตัวอย่างเช่น ใช้ในMaclisp เพื่อสร้างตัว เก็บขยะเวอร์ชันหนึ่ง[ 22 ]รุ่นต่อมาทั้งหมดมีรีจิสเตอร์ใน CPU
โหมดผู้ดูแลระบบ
มีโหมดการทำงานสองโหมด คือ โหมดผู้ดูแลระบบและโหมดผู้ใช้ นอกเหนือจากความแตกต่างในการอ้างอิงหน่วยความจำที่อธิบายไว้ข้างต้นแล้ว โปรแกรมในโหมดผู้ดูแลระบบยังสามารถดำเนินการป้อนข้อมูล/แสดงผลได้
การสื่อสารจากโหมดผู้ใช้ไปยังโหมดควบคุมนั้นทำผ่านคำสั่งผู้ใช้ที่ไม่ได้กำหนดไว้ในฮาร์ดแวร์ (Unimplemented User Operations หรือ UUOs) ซึ่งก็คือคำสั่งที่ไม่ได้กำหนดไว้ในฮาร์ดแวร์ และจะถูกดักจับโดยตัวควบคุม กลไกนี้ยังใช้เพื่อจำลองการทำงานที่อาจไม่มีการใช้งานในฮาร์ดแวร์ในรุ่นที่ราคาถูกกว่าด้วย
ประเภทข้อมูล
ชนิดข้อมูลหลักที่สถาปัตยกรรมนี้รองรับโดยตรง ได้แก่ เลขคณิต จำนวนเต็ม 36 บิตแบบทูคอมพลีเมนต์ (รวมถึงการดำเนินการแบบบิต) เลขทศนิยม 36 บิต และฮาล์ฟเวิร์ด เลขทศนิยมแบบขยาย 72 บิต รองรับผ่านคำสั่งพิเศษที่ออกแบบมาเพื่อใช้ในลำดับคำสั่งหลายคำสั่ง ตัวชี้ไบต์รองรับโดยคำสั่งพิเศษ เวิร์ดที่แบ่งเป็นครึ่ง "นับ" และครึ่ง "ตัวชี้" ช่วยให้สามารถใช้พื้นที่หน่วยความจำที่มีขอบเขตจำกัดได้ โดยเฉพาะอย่างยิ่งสแต็ก
คำแนะนำ
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
คำสั่งจะถูกจัดเก็บในรูปแบบคำ 36 บิต มีสองรูปแบบ คือ คำสั่งทั่วไปและคำสั่งอินพุต/เอาต์พุต[ 23 ]
โดยทั่วไปแล้ว บิต 9 บิตซ้ายสุด ตั้งแต่ 0 ถึง 8 จะมีรหัส คำสั่ง (opcode ) รหัส 512 รหัสที่เป็นไปได้จำนวนมากไม่ได้ถูกกำหนดไว้ในเครื่องรุ่นพื้นฐาน และถูกสงวนไว้สำหรับการขยาย เช่น การเพิ่มหน่วยประมวลผลจุดลอยตัว แบบฮาร์ดแวร์ ถัดจากรหัสคำสั่งในบิตที่ 9 ถึง 12 คือหมายเลขของรีจิสเตอร์ที่จะใช้สำหรับคำสั่งนั้น คำสั่งอินพุต/เอาต์พุตทั้งหมดเริ่มต้นด้วยบิตที่ 0 ถึง 2 ถูกตั้งค่าเป็น 1 (ค่าทศนิยม 7) บิตที่ 3 ถึง 9 มีหมายเลขอุปกรณ์ และบิตที่ 10 ถึง 12 เป็นรหัสคำสั่ง[ 23 ]
ในทั้งสองรูปแบบ บิตที่ 13 ถึง 35 ใช้ในการสร้าง "แอดเดรสที่มีประสิทธิภาพ" E บิตที่ 18 ถึง 35 ประกอบด้วยแอดเดรสค่าคงที่ตัวเลข Y แอดเดรสนี้สามารถแก้ไขได้โดยการเพิ่มค่า 18 บิตในรีจิสเตอร์ X ซึ่งเป็นหมายเลขรีจิสเตอร์ที่ระบุในบิตที่ 14 ถึง 17 หากตั้งค่าเป็นศูนย์ จะไม่มีการใช้การจัดทำดัชนี หมายความว่ารีจิสเตอร์ 0 ไม่สามารถใช้สำหรับการจัดทำดัชนีได้ บิตที่ 13 I ระบุการอ้างอิงทางอ้อม หมายความว่าแอดเดรสที่มีประสิทธิภาพขั้นสุดท้ายที่ใช้โดยคำสั่งไม่ใช่ E แต่เป็นแอดเดรสที่เก็บไว้ในตำแหน่งหน่วยความจำ E เมื่อใช้การอ้างอิงทางอ้อม ข้อมูลในเวิร์ด E จะถูกตีความในลักษณะเดียวกับโครงสร้างของคำสั่ง บิตที่ 0 ถึง 12 จะถูกละเว้น และบิตที่ 13 ถึง 35 จะสร้าง I, X และ Y ดังที่กล่าวมาข้างต้น
การดำเนินการคำสั่งเริ่มต้นด้วยการคำนวณ E โดยจะเพิ่มเนื้อหาของรีจิสเตอร์ X ที่กำหนด (ถ้าไม่ใช่ 0) ไปยังออฟเซ็ต Y จากนั้น หากบิตอ้างอิงทางอ้อมเป็น 1 ค่าที่ E จะถูกดึงมาและการคำนวณที่อยู่ที่มีประสิทธิภาพจะถูกทำซ้ำ หาก I เป็น 1 ในค่าที่เก็บไว้ที่ E ในหน่วยความจำ ระบบจะอ้างอิงผ่านที่อยู่นั้นเช่นกัน อาจทำตามขั้นตอนดังกล่าวหลายขั้นตอน[ 23 ]กระบวนการนี้จะดำเนินต่อไปจนกว่าจะถึงคำอ้างอิงทางอ้อมที่มีบิตอ้างอิงทางอ้อมเป็นศูนย์ การอ้างอิงทางอ้อมในลักษณะนี้เป็นคุณลักษณะทั่วไปของการออกแบบโปรเซสเซอร์ในยุคนี้
ในโหมดควบคุมดูแล (supervisor mode) ที่อยู่จะตรงกับหน่วยความจำทางกายภาพโดยตรง ในโหมดผู้ใช้ (user mode) ที่อยู่จะถูกแปลงเป็นหน่วยความจำทางกายภาพ รุ่นก่อนหน้าจะให้กระบวนการของผู้ใช้มีหน่วยความจำ "สูง" และ "ต่ำ" ที่อยู่ที่มีบิตบนสุดเป็น 0 จะใช้รีจิสเตอร์ฐานตัวหนึ่ง และที่อยู่ที่มีบิตบนสุดเป็น 1 จะใช้รีจิสเตอร์ฐานอีกตัวหนึ่ง แต่ละส่วนจะอยู่ติดกัน สถาปัตยกรรมรุ่นต่อมามีการเข้าถึงหน่วยความจำแบบแบ่งหน้า ทำให้สามารถใช้พื้นที่ที่อยู่ที่ไม่ติดกันได้ รีจิสเตอร์อเนกประสงค์ของ CPU ยังสามารถระบุที่อยู่ได้ในฐานะตำแหน่งหน่วยความจำ 0–15
คำแนะนำทั่วไป
คำสั่งทั่วไปแบ่งออกเป็นสามประเภทหลัก ได้แก่ คำสั่งทางคณิตศาสตร์ คำสั่งทางตรรกะ และคำสั่งเคลื่อนย้าย นอกจากนี้ยังมีคำสั่งกระโดดแบบมีเงื่อนไข และคำสั่งข้ามแบบมีเงื่อนไข (ซึ่งอาจมีผลข้างเคียง) และยังมีคำสั่งย่อยอีกหลายประเภท
การดำเนินการทางคณิตศาสตร์ ตรรกะ และการย้ายข้อมูล มีรูปแบบต่างๆ ที่ทำงานกับค่าคงที่ทันทีไปยังรีจิสเตอร์ หน่วยความจำไปยังรีจิสเตอร์ รีจิสเตอร์ไปยังหน่วยความจำ รีจิสเตอร์และหน่วยความจำไปยังทั้งสอง หรือหน่วยความจำไปยังหน่วยความจำ เนื่องจากรีจิสเตอร์อาจถูกระบุที่อยู่เป็นส่วนหนึ่งของหน่วยความจำ การดำเนินการระหว่างรีจิสเตอร์จึงถูกกำหนดไว้ด้วย (ไม่ใช่ทุกรูปแบบจะมีประโยชน์ แม้ว่าจะมีการกำหนดไว้อย่างดีก็ตาม) ตัวอย่างเช่น การดำเนินการ ADD มีรูปแบบต่างๆ เช่น ADDI (บวกค่าคงที่ทันที 18 บิตไปยังรีจิสเตอร์) ADDM (บวกเนื้อหาของรีจิสเตอร์ไปยังตำแหน่งหน่วยความจำ) ADDB (บวกไปยังทั้งสอง นั่นคือ บวกเนื้อหาของรีจิสเตอร์ ไปยัง หน่วยความจำและใส่ผลลัพธ์ลงใน รีจิสเตอร์) ตัวอย่างที่ซับซ้อนกว่าคือ HLROM ( Half Left to Right, Ones to Memory ) ซึ่งจะนำครึ่งซ้ายของเนื้อหาของรีจิสเตอร์ไปวางไว้ในครึ่งขวาของตำแหน่งหน่วยความจำ และแทนที่ครึ่งซ้ายของตำแหน่งหน่วยความจำด้วยเลข 1 คำสั่ง halfword ยังใช้สำหรับ linked list ด้วย: HLRZ คือตัวดำเนินการ CAR ของ Lisp; HRRZ คือตัวดำเนินการ CDR
การดำเนินการกระโดดแบบมีเงื่อนไขจะตรวจสอบเนื้อหาของรีจิสเตอร์และกระโดดไปยังตำแหน่งที่กำหนดโดยขึ้นอยู่กับผลลัพธ์ของการเปรียบเทียบ ตัวย่อสำหรับคำสั่งเหล่านี้ทั้งหมดเริ่มต้นด้วย JUMP โดย JUMPA หมายถึง "กระโดดเสมอ" และ JUMP หมายถึง "ไม่กระโดดเลย" – อันเป็นผลมาจากการออกแบบสมมาตรของชุดคำสั่ง จึงมีคำสั่งที่ไม่ทำอะไรเลยหลายคำสั่ง เช่น JUMP ตัวอย่างเช่น การกระโดดแบบมีเงื่อนไข JUMPN A,LOC จะกระโดดไปยังแอดเดรส LOC หากเนื้อหาของรีจิสเตอร์ A ไม่เป็นศูนย์ นอกจากนี้ยังมีการกระโดดแบบมีเงื่อนไขโดยอิงจากรีจิสเตอร์เงื่อนไขของโปรเซสเซอร์โดยใช้คำสั่ง JRST บน KA10 และ KI10 คำสั่ง JRST เร็วกว่า JUMPA ดังนั้นการกระโดดแบบไม่มีเงื่อนไขมาตรฐานจึงเป็น JRST
การดำเนินการข้ามแบบมีเงื่อนไขจะเปรียบเทียบเนื้อหาของรีจิสเตอร์และหน่วยความจำ และข้ามคำสั่งถัดไป (ซึ่งมักจะเป็นการกระโดดแบบไม่มีเงื่อนไข) ขึ้นอยู่กับผลลัพธ์ของการเปรียบเทียบ ตัวอย่างง่ายๆ คือ CAMN A,LOC ซึ่งเปรียบเทียบเนื้อหาของรีจิสเตอร์ A กับเนื้อหาของตำแหน่ง LOC และข้ามคำสั่งถัดไปหากไม่เท่ากัน ตัวอย่างที่ซับซ้อนกว่าคือ TLCE A,LOC (อ่านว่า "ทดสอบส่วนเติมเต็มด้านซ้าย ข้ามหากเท่ากัน") ซึ่งใช้เนื้อหาของ LOC เป็นมาสก์ เลือกบิตที่สอดคล้องกันในครึ่งซ้ายของรีจิสเตอร์ A หากบิตเหล่านั้นทั้งหมดเท่ากับศูนย์ให้ข้ามคำสั่งถัดไป และในกรณีใดๆ ก็ตาม ให้แทนที่บิตเหล่านั้นด้วยส่วนเติมเต็มแบบบูลีน
คำสั่งย่อยบางประเภท ได้แก่ คำสั่งเลื่อน/หมุน และคำสั่งเรียกใช้ฟังก์ชัน คำสั่งที่โดดเด่นเป็นพิเศษ ได้แก่ คำสั่งสแต็ก PUSH และ POP และคำสั่งเรียกใช้สแต็กที่เกี่ยวข้อง PUSHJ และ POPJ คำสั่งไบต์ใช้รูปแบบคำทางอ้อมพิเศษเพื่อแยกและจัดเก็บฟิลด์บิตที่มีขนาดตามอำเภอใจ ซึ่งอาจเลื่อนตัวชี้ไปยังหน่วยถัดไป[ c ]
คำสั่งอินพุต/เอาต์พุต
PDP-10 ไม่ได้ใช้อุปกรณ์ที่แมปหน่วยความจำซึ่งแตกต่างจากPDP-11และเครื่อง DEC รุ่นต่อมา ชุดคำสั่งแยกต่างหากถูกใช้เพื่อย้ายข้อมูลไปและกลับจากอุปกรณ์ที่กำหนดโดยหมายเลขอุปกรณ์ในคำสั่ง บิตที่ 3 ถึง 9 ประกอบด้วยหมายเลขอุปกรณ์ โดย 7 บิตอนุญาตให้มีอุปกรณ์ทั้งหมด 128 ตัว คำสั่งอนุญาตให้ย้ายข้อมูลไปและกลับจากอุปกรณ์ทีละคำ (DATAO และ DATAI) หรือทีละบล็อก (BLKO, BLKI) [ 24 ]
ในโหมดบล็อก ค่าที่ชี้โดย E คือคำในหน่วยความจำที่ถูกแบ่งออกเป็นสองส่วน 18 บิตทางขวาระบุที่อยู่เริ่มต้นในหน่วยความจำที่ข้อมูลตั้งอยู่ (หรือเขียนลงไป) และ 18 บิตทางซ้ายเป็นตัวนับ คำสั่งบล็อกจะเพิ่มค่าทั้งสองทุกครั้งที่ถูกเรียกใช้ ซึ่งจะเพิ่มตัวนับและย้ายไปยังตำแหน่งถัดไปในหน่วยความจำ จากนั้นจะดำเนินการ DATAO หรือ DATAI สุดท้าย จะตรวจสอบด้านตัวนับของค่าที่ E หากไม่ใช่ศูนย์ จะข้ามคำสั่งถัดไป หากเป็นศูนย์ จะดำเนินการคำสั่งถัดไป ซึ่งโดยปกติจะเป็น JUMP กลับไปยังด้านบนของลูป[ 25 ]คำสั่ง BLK มีประสิทธิภาพเป็นโปรแกรมขนาดเล็กที่วนซ้ำคำสั่ง DATA และเพิ่มค่า แต่ด้วยการนำไปใช้ในโปรเซสเซอร์เอง จึงหลีกเลี่ยงความจำเป็นในการอ่านชุดคำสั่งจากหน่วยความจำหลักซ้ำๆ และทำให้ดำเนินการลูปได้เร็วขึ้นมาก[ 26 ]
ชุดคำสั่ง I/O สุดท้ายใช้สำหรับเขียนและอ่านรหัสเงื่อนไขบนอุปกรณ์ CONO และ CONI [ 27 ]นอกจากนี้ CONSZ จะดำเนินการ CONI ทำการบิตมาสก์ข้อมูลที่ดึงมาเทียบกับค่าใน E จากนั้นข้ามคำสั่งถัดไปหากเป็นศูนย์ ซึ่งใช้ในลักษณะที่คล้ายกับคำสั่ง BLK เฉพาะ 18 บิตที่ถูกต้องเท่านั้นที่จะถูกทดสอบใน CONSZ [ 28 ]
การจัดการการขัดจังหวะ
การใช้งานคำสั่ง CONO ครั้งที่สองคือการตั้งค่าระดับความสำคัญของอุปกรณ์สำหรับ การจัดการ การขัดจังหวะคำสั่ง CONO มีสามบิต คือ 33 ถึง 35 ซึ่งช่วยให้สามารถตั้งค่าอุปกรณ์เป็นระดับ 0 ถึง 7 ได้ ระดับ 1 คือระดับสูงสุด หมายความว่าหากอุปกรณ์สองตัวสร้างการขัดจังหวะพร้อมกัน อุปกรณ์ที่มีหมายเลขต่ำที่สุดจะเริ่มประมวลผล ระดับ 0 หมายถึง "ไม่มีการขัดจังหวะ" ดังนั้นอุปกรณ์ที่ตั้งค่าเป็นระดับ 0 จะไม่หยุดโปรเซสเซอร์แม้ว่าจะสร้างการขัดจังหวะก็ตาม[ 29 ]
แต่ละช่องสัญญาณของอุปกรณ์จะมีตำแหน่งหน่วยความจำสองตำแหน่งที่เกี่ยวข้อง ตำแหน่งหนึ่งอยู่ที่ 40+2N และอีกตำแหน่งหนึ่งอยู่ที่ 41+2N โดยที่ N คือหมายเลขช่องสัญญาณ ดังนั้น ช่องสัญญาณที่ 1 จะใช้ตำแหน่ง 42 และ 43 เมื่อได้รับและยอมรับการขัดจังหวะ ซึ่งหมายความว่าไม่มีการขัดจังหวะที่มีลำดับความสำคัญสูงกว่ากำลังทำงานอยู่ ระบบจะหยุดที่ส่วนการอ่านหน่วยความจำถัดไปของรอบคำสั่งและเริ่มประมวลผลที่ที่อยู่ซึ่งจัดเก็บไว้ในตำแหน่งแรกจากสองตำแหน่งนั้นแทน ขึ้นอยู่กับตัวจัดการการขัดจังหวะที่จะปิดระดับการขัดจังหวะเมื่อเสร็จสิ้น ซึ่งสามารถทำได้โดยการเรียกใช้คำสั่ง CONO, DATA หรือ BLK [ 29 ]ในกรณีพิเศษ หากคำสั่งคือ BLKI หรือ BLKO และจำนวนที่เพิ่มขึ้นไม่ใช่ศูนย์ การขัดจังหวะจะถูกยกเลิกทันที มิฉะนั้น คำสั่งที่สองจะถูกดำเนินการเพื่อประมวลผลการขัดจังหวะ นี่เป็นเวอร์ชันการเข้าถึงหน่วยความจำโดยตรงที่มีต้นทุนต่ำและประสิทธิภาพปานกลาง
หมายเลขอุปกรณ์สองหมายเลขถูกจัดสรรไว้สำหรับวัตถุประสงค์พิเศษ อุปกรณ์ 0 คือคอนโซลแผงด้านหน้าของคอมพิวเตอร์ การอ่านอุปกรณ์นั้นจะดึงการตั้งค่าของสวิตช์แผง ในขณะที่การเขียนจะทำให้ไฟแสดงสถานะสว่างขึ้น อุปกรณ์ 4 คือ "การขัดจังหวะที่มีลำดับความสำคัญ" ซึ่งสามารถอ่านได้โดยใช้ CONI เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับการขัดจังหวะที่เกิดขึ้น[ 30 ]
การกำหนดที่อยู่แบบขยาย
ในโปรเซสเซอร์ที่รองรับการกำหนดแอดเดรสแบบขยาย พื้นที่แอดเดรสจะถูกแบ่งออกเป็น "ส่วน" แอดเดรส 18 บิตเรียกว่า "แอดเดรสภายใน" ซึ่งประกอบด้วยค่าออฟเซ็ตภายในส่วนนั้น และ "แอดเดรสทั่วโลก" คือ 30 บิต ซึ่งแบ่งออกเป็นหมายเลขส่วน 12 บิตที่ด้านล่างของ 18 บิตด้านซ้าย และค่าออฟเซ็ต 18 บิตภายในส่วนนั้นใน 18 บิตด้านขวา รีจิสเตอร์สามารถเก็บได้ทั้ง "ดัชนีภายใน" ซึ่งมีค่าชดเชยแบบไม่ระบุเครื่องหมาย 18 บิต หรือแอดเดรสภายในใน 18 บิตด้านขวา หรือ "ดัชนีทั่วโลก" ซึ่งมีค่าชดเชยแบบไม่ระบุเครื่องหมาย 30 บิต หรือแอดเดรสทั่วโลกใน 30 บิตด้านขวา คำทางอ้อมอาจเป็น "คำทางอ้อมแบบท้องถิ่น" โดยมีบิตบนสุดถูกตั้งค่า บิตถัดไป 12 บิตถูกสงวนไว้ และบิตที่เหลือเป็นบิตทางอ้อม รหัสรีจิสเตอร์ 4 บิต และค่าชดเชย 18 บิต หรืออาจเป็น "คำทางอ้อมแบบทั่วโลก" โดยมีบิตบนสุดถูกล้าง บิตถัดไปเป็นบิตทางอ้อม บิตถัดไป 4 บิตเป็นรหัสรีจิสเตอร์ และบิตที่เหลือ 30 บิตเป็นค่าชดเชย[ 31 ] : 1-26–1-30
กระบวนการคำนวณที่อยู่ที่มีประสิทธิภาพจะสร้างหมายเลขส่วน 12 บิตและค่าออฟเซ็ต 18 บิตภายในส่วนนั้น[ 31 ] : 1-26–1-30
ซอฟต์แวร์
ระบบปฏิบัติการ
ระบบปฏิบัติการดั้งเดิมของ PDP-10 มีชื่อเรียกว่า "Monitor" แต่ต่อมาได้เปลี่ยนชื่อเป็นTOPS-10และในที่สุดระบบ PDP-10 เองก็ถูกเปลี่ยนชื่อเป็น DECsystem-10 เวอร์ชันแรกๆ ของ Monitor และ TOPS-10 เป็นพื้นฐานของ ระบบปฏิบัติการ WAITS ของมหาวิทยาลัยสแตนฟอร์ด และระบบแบ่งเวลาใช้งาน คอมพิวเตอร์ CompuServe
เมื่อเวลาผ่านไป ผู้ใช้งาน PDP-10 บางรายเริ่มใช้ระบบปฏิบัติการที่ประกอบขึ้นจากส่วนประกอบหลักที่พัฒนาขึ้นจากภายนอก DEC ตัวอย่างเช่น โปรแกรมจัดการตารางงานหลักอาจมาจากมหาวิทยาลัยแห่งหนึ่ง โปรแกรมจัดการดิสก์อาจมาจากอีกมหาวิทยาลัยหนึ่ง เป็นต้น บริการไทม์แชร์เชิงพาณิชย์ เช่นCompuServe , On-Line Systems, Inc. (OLS) และRapidataมีกลุ่มโปรแกรมเมอร์ระบบภายในองค์กรที่มีความเชี่ยวชาญสูง เพื่อให้สามารถปรับเปลี่ยนระบบปฏิบัติการได้ตามความต้องการของธุรกิจของตนเองโดยไม่ต้องพึ่งพา DEC หรือหน่วยงานอื่น นอกจากนี้ยังมีชุมชนผู้ใช้งานที่เข้มแข็ง เช่นDECUSซึ่งผู้ใช้งานสามารถแบ่งปันซอฟต์แวร์ที่พวกเขาพัฒนาขึ้นได้
BBNได้พัฒนาระบบปฏิบัติการทางเลือกของตนเองชื่อTENEXซึ่งได้รับความนิยมอย่างรวดเร็วในแวดวงการวิจัย ต่อมา DEC ได้นำ TENEX มาปรับใช้กับ KL10 ปรับปรุงให้ดีขึ้นอย่างมาก และตั้งชื่อว่าTOPS-20กลายเป็นผลิตภัณฑ์ในกลุ่ม DECSYSTEM-20
MITซึ่งได้พัฒนา CTSS ( Compatible Time-Sharing System)เพื่อใช้งานบนIBM 709 (และต่อมาคือ ระบบ IBM 7094 ที่ได้รับการดัดแปลง ) [ 32 ]ยังได้พัฒนา ITS ( Incompatible Timesharing System) [ 33 ]เพื่อใช้งานบนPDP-6 (และต่อมาคือ PDP-10 ที่ได้รับการดัดแปลง)
Tymshareได้พัฒนาTYMCOM-Xซึ่งพัฒนามาจาก TOPS-10 แต่ใช้ระบบไฟล์แบบเพจเหมือน TOPS-20 [ 34 ]
ภาษาโปรแกรม
DEC ดูแลรักษา DECsystem-10 FORTRAN IV (F40) สำหรับ PDP-10 ตั้งแต่ปี 1967 ถึง 1975 [ 35 ]
MACRO-10 (คอมไพเลอร์มาโครภาษาแอสเซมบลี), COBOL, BASIC และ AID ได้รับการสนับสนุนภายใต้มอนิเตอร์การประมวลผลแบบหลายโปรเซสเซอร์และการสลับ[ 36 ]
ในทางปฏิบัติ มีสภาพแวดล้อมการเขียนโปรแกรมอื่นๆ อีกหลายอย่างให้เลือกใช้ รวมถึง LISP และ SNOBOL ที่วิทยาลัยเทคนิคแฮทฟิลด์ราวปี 1970
โคลน
ในช่วงปี พ.ศ. 2514 ถึง พ.ศ. 2515 นักวิจัยที่Xerox PARCรู้สึกผิดหวังกับการที่ผู้บริหารระดับสูงของบริษัทปฏิเสธที่จะให้พวกเขาซื้อ PDP-10 Xerox เพิ่งซื้อScientific Data Systems (SDS) ในปี พ.ศ. 2512 และต้องการให้ PARC ใช้เครื่อง SDS แทนที่จะเป็นเช่นนั้น กลุ่มที่นำโดยCharles P. Thackerได้ออกแบบและสร้างระบบโคลน PDP-10 สองระบบชื่อ MAXC (ออกเสียงว่า แม็กซ์ เพื่อเป็นเกียรติแก่Max Palevskyผู้ขาย SDS ให้กับ Xerox) สำหรับใช้เอง MAXC ยังเป็นคำย่อของ Multiple Access Xerox Computer อีกด้วย MAXC ใช้ระบบปฏิบัติการ TENEX เวอร์ชันดัดแปลง[ 37 ]
ความพยายามของบุคคลที่สามในการจำหน่ายเครื่องคอมพิวเตอร์ PDP-10 รุ่นลอกเลียนแบบนั้นไม่ประสบความสำเร็จเท่าที่ควร ดูได้จากFoonly , Systems ConceptsและXKL
ใช้งานโดย CompuServe
หนึ่งในชุดระบบสถาปัตยกรรม DECsystem-10 ที่ใหญ่ที่สุดเท่าที่เคยมีการรวบรวมมานั้นอยู่ที่CompuServeซึ่งในช่วงที่รุ่งเรืองที่สุดนั้นได้ใช้งานระบบที่เชื่อมต่อกันอย่างหลวมๆ มากกว่า 200 ระบบในศูนย์ข้อมูลสามแห่งในเมืองโคลัมบัส รัฐโอไฮโอ CompuServe ใช้ระบบเหล่านี้เป็น 'โฮสต์' เพื่อให้เข้าถึงแอปพลิเคชันเชิงพาณิชย์และบริการข้อมูลของ CompuServe ในขณะที่ระบบดังกล่าวชุดแรกซื้อมาจาก DEC แต่เมื่อ DEC เลิกใช้สถาปัตยกรรม PDP-10 และหันไปใช้ VAX แทน CompuServe และลูกค้า PDP-10 รายอื่นๆ ก็เริ่มซื้อ คอมพิวเตอร์ ที่เสียบปลั๊กได้เข้ากันได้จาก Systems Concepts ณ เดือนมกราคม 2550 CompuServe ยังคงใช้งานเครื่องสถาปัตยกรรม PDP-10 จำนวนเล็กน้อยเพื่อทำหน้าที่ด้านการเรียกเก็บเงินและการกำหนดเส้นทางบางอย่าง
แหล่งจ่ายไฟหลักที่ใช้ในเครื่องซีรีส์ KL นั้นไม่มีประสิทธิภาพมากนัก วิศวกรของ CompuServe จึงออกแบบแหล่งจ่ายไฟทดแทนที่ใช้พลังงานประมาณครึ่งหนึ่ง CompuServe เสนอที่จะให้สิทธิ์การใช้งานการออกแบบแหล่งจ่ายไฟ KL แก่ DEC โดยไม่คิดค่าใช้จ่าย หาก DEC สัญญาว่าเครื่อง KL ใหม่ทุกเครื่องที่ CompuServe ซื้อจะต้องติดตั้งแหล่งจ่ายไฟที่มีประสิทธิภาพมากกว่านี้ DEC ปฏิเสธข้อเสนอดังกล่าว

การปรับปรุงอีกอย่างหนึ่งที่วิศวกรของ CompuServe ทำกับ PDP-10 คือการเปลี่ยนหลอดไฟแสดงสถานะแบบไส้หลายร้อยดวงบนตู้ประมวลผล KI10 ด้วยโมดูลหลอดไฟ LED ต้นทุนในการเปลี่ยนนั้นคุ้มค่าอย่างยิ่งด้วยการประหยัดค่าไฟฟ้า ความร้อนที่ลดลง และแรงงานที่จำเป็นในการเปลี่ยนหลอดไฟที่ไหม้ Digital ได้ปฏิบัติตามขั้นตอนนี้ทั่วโลก ภาพทางด้านขวามือแสดงแผงไฟของหน่วยความจำ MF10 ซึ่งเป็นรุ่นเดียวกับ CPU KI10 ชิ้นส่วนนี้เป็นส่วนหนึ่งของพิพิธภัณฑ์คอมพิวเตอร์ และติดตั้งหลอด LED ในปี 2008 เพื่อการสาธิตเท่านั้น ไม่มีแผงไฟแสดงสถานะที่คล้ายกันบนตัวประมวลผล KL และ KS เอง มีเพียงในหน่วยความจำและอุปกรณ์ต่อพ่วงรุ่นเก่าเท่านั้น
การยกเลิกและอิทธิพล
ในที่สุด PDP-10 ก็ถูกบดบังรัศมีโดย เครื่อง ซูเปอร์มินิคอมพิวเตอร์VAX (ซึ่งเป็นลูกหลานของPDP-11 ) เมื่อ DEC ตระหนักว่าสายผลิตภัณฑ์ PDP-10 และ VAX กำลังแข่งขันกันเอง และตัดสินใจที่จะมุ่งเน้นความพยายามในการพัฒนาซอฟต์แวร์ไปที่ VAX ซึ่งทำกำไรได้มากกว่า การยกเลิกสายผลิตภัณฑ์ PDP-10 ได้รับการประกาศในปี 1983 รวมถึงการยกเลิกโครงการ Jupiter ที่กำลังดำเนินการอยู่ เพื่อผลิตโปรเซสเซอร์ PDP-10 ระดับไฮเอนด์รุ่นใหม่ (แม้ว่าโครงการนั้นจะอยู่ในสภาพที่ดีในขณะที่มีการยกเลิก) และโครงการ Minnow เพื่อผลิต PDP-10 สำหรับเดสก์ท็อป ซึ่งอาจอยู่ในขั้นตอนการสร้างต้นแบบในขณะนั้น[ 38 ]
เหตุการณ์นี้ส่งผลให้ITSและวัฒนธรรมทางเทคนิคที่ก่อกำเนิดไฟล์ศัพท์เฉพาะ ดั้งเดิม ต้องล่มสลาย แต่ในช่วงทศวรรษ 1990 การได้เริ่มต้นอาชีพด้วย PDP-10 กลับกลายเป็นเหมือนเครื่องหมายแห่งเกียรติยศในหมู่แฮกเกอร์รุ่นเก่า
คำสั่ง ภาษาแอสเซมบลี LDB และ DPB (load/deposit byte ) ของ PDP-10 ยังคงใช้งานอยู่เป็นฟังก์ชันใน ภาษาโปรแกรมCommon Lispดูรายละเอียดได้ในส่วน "เอกสารอ้างอิง" ในบทความเกี่ยวกับ LISPขนาดคำ 36 บิตของ PDP-6 และ PDP-10 ได้รับอิทธิพลมาจากความสะดวกในการเขียนโปรแกรมโดยการมีตัวชี้ LISP 2 ตัว แต่ละตัวมีขนาด 18 บิต ในคำเดียว
Will Crowtherสร้าง เกม Adventureซึ่งเป็นเกมผจญภัยบนคอมพิวเตอร์ต้นแบบสำหรับ PDP-10 Don Daglowสร้างเกมเบสบอล บนคอมพิวเตอร์เกมแรก (1971) และ Dungeon (1975) ซึ่ง เป็นวิดีโอเกมสวมบทบาทเกมแรกบน PDP-10 Walter Brightสร้างEmpire ขึ้นมา สำหรับ PDP-10 ในตอนแรก Roy TrubshawและRichard Bartle สร้าง MUD เกมแรกบน PDP-10 Zorkถูกเขียนขึ้นบน PDP-10 Infocomใช้ PDP-10 สำหรับการพัฒนาและทดสอบเกม[ 39 ]
เดิมที Bill GatesและPaul AllenเขียนAltair BASICโดยใช้ โปรแกรมจำลอง Intel 8080ที่ทำงานบน PDP-10 ที่มหาวิทยาลัยฮาร์วาร์ด Allen ดัดแปลงแอสเซมเบลอร์ของ PDP-10 ให้เป็นแอสเซมเบลอร์แบบครอสสำหรับชิป 8080 [ 40 ]พวกเขาก่อตั้งMicrosoftในเวลาไม่นานหลังจากนั้น
การเลียนแบบหรือการจำลอง
ซอฟต์แวร์สำหรับการจำลองคอมพิวเตอร์ในอดีตSIMHประกอบด้วยโมดูลเพื่อจำลอง CPU รุ่น PDP-10 ทั้งหมดบนเครื่องที่ใช้ Windows หรือ Unix สามารถดาวน์โหลดสำเนาเทปการแจกจ่ายดั้งเดิมของ DEC ได้จากอินเทอร์เน็ต เพื่อให้สามารถสร้างระบบ TOPS-10 หรือ TOPS-20 ที่ใช้งานได้ นอกจากนี้ ITS และ WAITS ก็มีให้ใช้งานสำหรับ SIMH ด้วย[ 41 ] [ 42 ]แผงด้านหน้า PDP-10 [ 43 ]แบบจำลองสำหรับโปรเซสเซอร์ KA10 มีให้ใช้งานสำหรับ การจำลอง SIMHที่ทำงานบนRaspberry Pi
ซอฟต์แวร์ KLH10 ของ Ken Harrenstien สำหรับระบบที่คล้าย Unix จำลองโปรเซสเซอร์ KL10B ที่มีการกำหนดแอดเดรสแบบขยายและหน่วยความจำ 4 MW หรือโปรเซสเซอร์ KS10 ที่มีหน่วยความจำ 512 KW การจำลอง KL10 รองรับไมโครโค้ด KL10 เวอร์ชัน 442 ซึ่งทำให้สามารถใช้งาน TOPS-10 และ TOPS-20 เวอร์ชันสุดท้ายได้ การจำลอง KS10 รองรับทั้งไมโครโค้ด ITS เวอร์ชัน 262 สำหรับ KS10 ITS เวอร์ชันสุดท้าย และไมโครโค้ด DEC เวอร์ชัน 130 สำหรับ KS TOPS-10 และ TOPS-20 เวอร์ชันสุดท้าย[ 44 ]
บทความนี้อ้างอิงบางส่วนจากJargon Fileซึ่งเป็นแหล่งข้อมูลสาธารณะ
ดูเพิ่มเติม
หมายเหตุ
- ^ชื่อ TOPS-10 ได้รับการประกาศในปี 1970
- ^นอกจากนี้ยังวางจำหน่ายในชื่อ 1040, 1050, 1055 และตามรุ่น KI/KL คือ 1060, 1070 เป็นต้น
- ^เปรียบเทียบกับการกำหนดแอดเดรสแบบไบต์ § ระบบไฮบริด
อ่านเพิ่มเติม
- C. Gordon Bell , Alan Kotok , Thomas N. Hastings, Richard Hill, "วิวัฒนาการของระบบ DEC 10", Communications of the ACM 21 :1:44 (มกราคม 1978) doi : 10.1145/359327.359335 , พิมพ์ซ้ำใน C. Gordon Bell, J. Craig Mudge, John E. McNamara, วิศวกรรมคอมพิวเตอร์: มุมมองของ DEC เกี่ยวกับการออกแบบระบบฮาร์ดแวร์ (Digital Press, 1978, ISBN) 0932376002)
ลิงก์ภายนอก
- 36 บิตตลอดไป!
- รุ่นต่างๆ ของ PDP-10 — แสดงซีพียูและรุ่นต่างๆ
- สิ่งของ PDP-10
- หน้าเบ็ดเตล็ด PDP10
- ชีวิตใน Fast AC
- หน้า DEC PDP-10 ของมหาวิทยาลัยโคลัมเบีย
- หน้า 20 อันดับแรกของ Panda Programming
- สามารถชม PDP-10 และระบบที่เกี่ยวข้องทางออนไลน์ได้ที่พิพิธภัณฑ์คอมพิวเตอร์ชั่วคราวของ SDF (รวมถึงระบบบางส่วนที่เดิมเป็นส่วนหนึ่งของ คอลเล็กชัน Paul Allenที่Living Computers: Museum + Labs )
- เกม Empireสำหรับ PDP-10 (ไฟล์ซิปของซอร์สโค้ดFORTRAN -10) จาก Classic Empire
- คลังซอฟต์แวร์ PDP-10 ที่ Trailing Edge
- โฆษณา Personal Mainframe ถูกเก็บถาวรเมื่อวันที่ 6 พฤศจิกายน 2018 ที่Wayback Machine
- โฆษณา ของ Computer World เกี่ยวกับ Personal Mainframe
- เอกสารประกอบการใช้งาน PDP-10 ที่ Bitsavers
กลุ่มข่าว
- alt.sys.pdp10
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ พีดีพี-10
PDP-10 ของ Digital Equipment Corporation (DEC) ซึ่งต่อมาวางจำหน่ายในชื่อ DECsystem-10 เป็นตระกูล คอมพิวเตอร์เมนเฟรม [ 1 ] ที่ผลิตตั้งแต่ปี 1966 [ 2 ] ส่งมอบตั้งแต่เดือนธันวาคม...
แบบจำลองและวิวัฒนาการทางเทคนิค
โปรเซสเซอร์ PDP-10 รุ่นดั้งเดิมคือ KA10 ซึ่งเปิดตัวในปี 1968 [ 8 ] มันใช้ ทรานซิสเตอร์ แบบแยกส่วน ที่บรรจุใน เทคโนโลยี Flip-Chip ของ DEC โดยมีแบ็คเพลน ที่พันด้วยสายไฟ ผ่านกระบวนการผลิตแบบกึ่งอัตโนมัติ เวลาวงจร คือ 1 μs และเวลาบวกคือ 2.
เคเอ10
KA10 มีความจุหน่วยความจำหลักสูงสุด (ทั้งเสมือนและทางกายภาพ) 256 กิโลเวิร์ด (เทียบเท่า 1152 กิโลไบต์ ) หน่วยความจำหลักขั้นต่ำที่ต้องการคือ 16 กิโลเวิร์ด ตามที่ DEC จัดหามานั้น ไม่ได้รวมฮาร์ดแวร์ เพจจิ้ งไว้ด้วย การจัดการหน่วยความจำ...
KI10
KI10 เป็นชิปประมวลผลที่รองรับการจัดการหน่วยความจำแบบเพจ และมีพื้นที่แอดเดรสทางกายภาพที่ใหญ่ขึ้นถึง 4 เมกะเวิร์ด รุ่น KI10 ประกอบด้วย 1060, 1070 และ 1077 โดยรุ่น 1077 มีซีพียูสองตัว