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

อ่าน 8 นาที

แอลจีพี-30

LGP -30 ซึ่งย่อมาจาก Librascope General Purpose และต่อมาคือ Librascope General Precision เป็นคอมพิวเตอร์สำเร็จรูปรุ่นแรกๆ ผลิตโดย บริษัท Librascope แห่ง เมืองเกลนเดล...

แอลจีพี-30

เครื่องตรวจวินิจฉัย Librascope รุ่น LGP-30 (พร้อมฝาปิด)
เครื่อง LGP-30 ที่ใช้งานในวิทยาลัยแมนฮัตตัน (ปี 1965)
LGP-30 ที่พิพิธภัณฑ์คอมพิวเตอร์ บอสตันโดยถอดฝาครอบออกแล้ว แผงควบคุมอยู่ตรงกลางด้านบน ทางด้านซ้ายของดรัมหน่วยความจำ

LGP -30ซึ่งย่อมาจากLibrascope General Purposeและต่อมาคือLibrascope General Precisionเป็นคอมพิวเตอร์สำเร็จรูปรุ่นแรกๆ ผลิตโดย บริษัท Librascopeแห่งเมืองเกลนเดล รัฐแคลิฟอร์เนีย (ซึ่งเป็นแผนกหนึ่งของGeneral Precision Inc. ) และจำหน่ายและให้บริการโดยบริษัท Royal Precision Electronic Computer Company ซึ่งเป็นการร่วมทุนกับ แผนก Royal McBeeของบริษัท Royal Typewriter Company LGP-30 ผลิตขึ้นครั้งแรกในปี 1956 [ 1 ] [ 2 ] [ 3 ]ในราคาขายปลีก 47,000 ดอลลาร์ ซึ่งเทียบเท่ากับ 560,000 ดอลลาร์ในปี 2025 [ 4 ]

LGP-30 มักถูกเรียกว่าคอมพิวเตอร์ตั้งโต๊ะ ความสูง ความกว้าง และความลึก (ไม่รวมชั้นวางเครื่องพิมพ์ดีด) คือ 33 x 44 x 26 นิ้ว (84 x 112 x 66 ซม.) มีน้ำหนักประมาณ 800 ปอนด์ (360 กก.) [ 5 ]และติดตั้งบนล้อเลื่อน ที่แข็งแรง ซึ่งช่วยให้เคลื่อนย้ายเครื่องได้สะดวก

ออกแบบ

แผงควบคุม LGP-30
แผงควบคุมภาษาเยอรมัน

ที่ปรึกษาด้านการออกแบบหลักของคอมพิวเตอร์ Librascope คือStan Frankelผู้ มีประสบการณ์ ในโครงการ Manhattan Projectและเป็นหนึ่งในโปรแกรมเมอร์คนแรกของENIACโดยได้รับความช่วยเหลือจากJames Cassซึ่งในขณะนั้นเป็นนักศึกษาปริญญาโทที่Caltech [ 6 ]พวกเขาออกแบบคอมพิวเตอร์ที่ใช้งานได้โดยใช้ฮาร์ดแวร์น้อยที่สุด[ 7 ]ชุดคำสั่ง ที่อยู่เดียวมีเพียง 16 คำสั่ง หน่วยความจำดรัมแม่เหล็กเก็บหน่วยความจำหลักและหน่วยประมวลผลกลาง (CPU) เก็บรีจิสเตอร์ข้อมูลเวลา และนาฬิกาบิตหลัก โดยแต่ละส่วนอยู่บนแทร็กเฉพาะ จำนวนหลอดสุญญากาศ (113) [ 6 ]ถูกลดให้น้อยที่สุดโดยใช้ตรรกะไดโอดโซ ลิดสเต ท สถาปัตยกรรมบิตอนุกรม [ 8 ] และการใช้งานฟลิปฟลอปแต่ละตัวจำนวน 15 ตัวซ้ำกัน

เป็นคอมพิวเตอร์ไบนารีแบบ 31 บิต ที่มี หน่วยความจำแบบดรัมขนาด 4096 คำอินพุตมาตรฐานคือ แป้นพิมพ์ Flexowriterและเทปกระดาษ (สิบตัวอักษรหกบิตต่อวินาที) เอาต์พุตมาตรฐานคือเครื่องพิมพ์ Flexowriter ( เครื่องพิมพ์ดีดทำงานที่ความเร็ว 10 ตัวอักษรต่อวินาที) มีเครื่องอ่านเทปกระดาษและเครื่องเจาะรูความเร็วสูงให้เลือกใช้เป็นอุปกรณ์เสริมแยกต่างหาก

เครื่องพิมพ์ดีดแบบตั้งโต๊ะรุ่น LGP-30 ที่พิพิธภัณฑ์ประวัติศาสตร์คอมพิวเตอร์โปรดสังเกตว่า เช่นเดียวกับเครื่องพิมพ์ดีดในยุคนั้นทั่วไป ไม่มีปุ่มสำหรับเลข 1 (ใช้ตัวอักษร L ตัวเล็กแทน)
จอแสดงผลรีจิสเตอร์ LGP-30 ซึ่งใช้ออสซิลโลสโคปอยู่ด้านหลังหน้ากากนี้

คอมพิวเตอร์เครื่องนี้ประกอบด้วยหลอด อิเล็กทรอนิกส์ 113 หลอด และไดโอด 1450 ตัว หลอดเหล่านี้ติดตั้งอยู่บนแผงวงจรพิมพ์แบบเสียบได้ 34 แผง ซึ่งแต่ละแผงก็มีส่วนประกอบอื่นๆ ที่เกี่ยวข้องอยู่ด้วย แผงวงจรทั้ง 34 แผงนั้นมีเพียง 12 ชนิดที่แตกต่างกันเท่านั้น มีอุปกรณ์ต่อขยายแผงวงจรเพื่อให้สามารถทดสอบการทำงานต่างๆ ของเครื่องได้แบบไดนามิก ไดโอด 680 ตัวจากทั้งหมด 1450 ตัวถูกติดตั้งอยู่บนแผงวงจรลอ จิกแบบเสียบได้ แผง เดียว

เครื่อง LGP-30 ต้องการกำลังไฟ 1500 วัตต์เมื่อทำงานเต็มกำลัง สายไฟสามารถเสียบเข้ากับสายไฟมาตรฐาน 115 โวลต์ 60 เฮิร์ตซ์ เฟสเดียวได้ คอมพิวเตอร์มีระบบควบคุมแรงดันไฟฟ้าที่เหมาะสมกับความผันผวนของแรงดันไฟฟ้าตั้งแต่ 95 ถึง 130 โวลต์ นอกจากระบบควบคุมกำลังไฟแล้ว คอมพิวเตอร์ยังมีวงจรสำหรับขั้นตอนการอุ่นเครื่อง ซึ่งช่วยลดการเปลี่ยนแปลงอุณหภูมิอย่างฉับพลันต่อหลอดภาพ เพื่อยืดอายุการใช้งาน คอมพิวเตอร์มีพัดลมระบายความร้อนซึ่งส่งอากาศ ที่กรองแล้วผ่านท่อไปยังหลอดภาพและไดโอด เพื่อยืดอายุการใช้งานของชิ้นส่วนและรับประกันการทำงานที่ถูกต้อง ไม่จำเป็นต้องใช้ เครื่องปรับอากาศราคาแพงหากใช้งาน LGP-30 ที่อุณหภูมิที่เหมาะสม

Al Barr ศาสตราจารย์ด้านวิทยาการคอมพิวเตอร์ที่ Caltech ได้กล่าวถึงคุณสมบัติการประหยัดพลังงานของการออกแบบในปี 2023 ว่า "ฮาร์ดแวร์คอมพิวเตอร์ส่วนใหญ่ก่อน LGP-30 ใช้หลอดสุญญากาศมากเกินไป หลอดสุญญากาศใช้พลังงานไฟฟ้ามาก สร้างความร้อนมาก และไม่น่าเชื่อถือเท่าไหร่ เพราะมักจะไหม้เหมือนหลอดไฟไส้ LGP-30 ใช้ตรรกะไดโอดโซลิดสเตทจำนวนมากเพื่อลดจำนวนหลอดสุญญากาศ เพิ่มความน่าเชื่อถือและลดการใช้พลังงาน การออกแบบฮาร์ดแวร์นี้เป็นหนึ่งในก้าวสำคัญที่เปิดประตูสู่การปฏิวัติคอมพิวเตอร์สมัยใหม่" [ 6 ]

แต่ละคำในดรัมมีตำแหน่งบิต 32 ตำแหน่ง แต่ใช้เพียง 31 ตำแหน่งเท่านั้น ซึ่งช่วยให้ "การฟื้นฟูฟลักซ์แม่เหล็กในหัวอ่าน" เกิดขึ้นที่เวลาบิตที่ 32 เนื่องจากแต่ละคำสั่งมีที่อยู่เพียงที่เดียว จึงจำเป็นต้องมีวิธีการเพิ่มประสิทธิภาพการจัดสรรตัวถูกดำเนินการ มิฉะนั้น แต่ละคำสั่งจะต้องรอการหมุนของดรัม (หรือดิสก์) ครบหนึ่งรอบทุกครั้งที่มีการอ้างอิงข้อมูล LGP-30 ได้มีการเพิ่มประสิทธิภาพตำแหน่งตัวถูกดำเนิน การโดย การ สลับ ที่อยู่เชิงตรรกะบนดรัม เพื่อให้ที่อยู่สองที่อยู่ติดกัน (เช่น 00 และ 01) ถูกคั่นด้วยตำแหน่งทางกายภาพเก้าตำแหน่ง ช่องว่างเหล่านี้ช่วยให้สามารถวางตัวถูกดำเนินการไว้ถัดจากคำสั่งที่ใช้พวกมันได้ ดรัมมี 64 แทร็ก แต่ละแทร็กมี 64 คำ (เซกเตอร์) เวลาที่ใช้ระหว่างคำทางกายภาพสองคำที่อยู่ติดกันคือประมาณ 0.260 มิลลิวินาที (ms) และเวลาที่ใช้ระหว่างที่อยู่สองที่อยู่ติดกันคือ 9 x 0.260 หรือ 2.340 ms เวลาเข้าถึงในกรณีที่เลวร้ายที่สุดคือ 16.66 ms

ครึ่งหนึ่งของคำสั่ง (15 บิต) ไม่ได้ถูกใช้งาน ครึ่งที่ไม่ได้ใช้นี้สามารถนำไปใช้สำหรับคำสั่งเพิ่มเติม การจัดทำดัชนี การกำหนดแอดเดรสทางอ้อมหรือแอดเดรสที่สอง (+1) เพื่อค้นหาคำสั่งถัดไป ซึ่งแต่ละอย่างจะช่วยเพิ่มประสิทธิภาพของโปรแกรมได้ คุณสมบัติเหล่านี้ไม่ได้ถูกนำมาใช้ใน LGP-30 แต่บางส่วนถูกนำมาใช้ในรุ่นต่อมาในปี 1960 คือ RPC-4000

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

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

แตกต่างจากคอมพิวเตอร์อื่นๆ ในยุคนั้น ข้อมูลภายในถูกแสดงในรูปแบบเลขฐานสิบหกแทนที่จะเป็นเลขฐานแปดแต่เนื่องจากเป็นเครื่องราคาถูกมาก จึงใช้แป้นพิมพ์พิมพ์ดีดจริงที่ตรงกับตำแหน่งที่ 10 ถึง 15 ในตะกร้าตัวพิมพ์สำหรับอักขระที่ไม่ใช่เลขฐานสิบหกตัว (ตรงข้ามกับ A – F ที่ใช้กันทั่วไปในปัจจุบัน) เพื่อแสดงค่าเหล่านั้น ส่งผลให้ 0 – 9 เป็น fgjkqw ซึ่งจำได้โดยใช้คำช่วยจำว่า " Fiber-Glass Javelins Kill Quite Well" ( หอกไฟเบอร์กลาส ฆ่าได้ดีทีเดียว)

ข้อกำหนด

ภาพภายในเครื่อง LGP-30 ที่พิพิธภัณฑ์คอมพิวเตอร์สตุทการ์ทหน่วยความจำแบบดรัมอยู่ทางด้านซ้าย หน่วยประมวลผลกลาง (CPU) อยู่ทางด้านขวา
หน่วยความจำดรัม LGP-30
  • ความยาวของคำ: 31 บิต รวมบิตเครื่องหมาย แต่ไม่รวมบิตเว้นวรรค
  • ขนาดหน่วยความจำ: 4096 คำ
  • ความเร็ว: เวลาเข้าถึงระหว่างคำทางกายภาพที่อยู่ติดกันสองคำคือ 0.260 มิลลิวินาที; เวลาเข้าถึงระหว่างที่อยู่สองที่อยู่ติดกันคือ 2.340 มิลลิวินาที
  • เวลาในการบวก: 0.26 มิลลิวินาที ไม่รวมเวลาในการเข้าถึง
  • เวลาในการคูณหรือหาร: 17 มิลลิวินาที ไม่รวมเวลาในการเข้าถึงข้อมูล
  • อัตราความถี่สัญญาณนาฬิกา: 120 kHz
  • การใช้พลังงาน: 1500 วัตต์ขณะใช้งาน, 35 วัตต์ในโหมดสแตนด์บาย
  • การระบายความร้อน: 5,000 บีทียู/ชั่วโมง (1,500 วัตต์)
  • องค์ประกอบทางคณิตศาสตร์: รีจิสเตอร์ทำงานสามตัว ได้แก่ C (รีจิสเตอร์นับ), R (รีจิสเตอร์คำสั่ง) และ A (รีจิสเตอร์สะสม)
  • รูปแบบคำแนะนำ: คำแนะนำสิบหกข้อ โดยใช้รูปแบบครึ่งคำ
  • เทคโนโลยี: หลอดสุญญากาศ 113 หลอด และไดโอด 1450 ตัว
  • จำนวนที่ผลิต: 320-493
  • ส่งมอบครั้งแรก: กันยายน 1956
  • ราคา: 47,000 ดอลลาร์สหรัฐ
  • รุ่นต่อมา: LGP-21
  • ความสำเร็จ: LGP-30 เป็นหนึ่งในคอมพิวเตอร์ขนาดตั้งโต๊ะเครื่องแรกๆ ที่นำเสนอการคำนวณทางวิทยาศาสตร์ขนาดเล็ก LGP-30 ได้รับความนิยมพอสมควร โดยมียอดขาย "ห้าแสน" เครื่อง รวมถึงเครื่องหนึ่งที่ส่งไปยังวิทยาลัยดาร์ทมัธซึ่งนักศึกษาได้นำDartmouth ALGOL 30และDOPE (Dartmouth Oversimplified Programming Experiment) มาใช้งาน บนเครื่องนี้[ 9 ]

การเขียนโปรแกรม

ชุดคำสั่ง

LGP-30 มีคำสั่ง 16 คำสั่ง แต่ละคำสั่งใช้คำขนาด 31 บิต แต่ประมาณครึ่งหนึ่งของบิตไม่ได้ใช้งานและตั้งค่าเป็นศูนย์ คำสั่งประกอบด้วย "คำสั่ง" เช่น ตัวอักษร b สำหรับ "นำออกจากหน่วยความจำ" และส่วนที่อยู่ เช่น ตัวเลข 2000 เพื่อกำหนดตำแหน่งหน่วยความจำ คำสั่งทั้งหมดมีลักษณะคล้ายกันในคำ LGP-30 บิตคำสั่งจะอยู่ในตำแหน่งที่ 12 ถึง 15 ของคำ และบิตที่อยู่จะอยู่ในตำแหน่งที่ 18 ถึง 29 ของคำ บิตที่อยู่จะถูกแบ่งย่อยตามแทร็กและเซกเตอร์ แม้ว่าคำสั่งทั้งหมดจะมีที่อยู่ แต่บางคำสั่งก็ไม่ได้ใช้ที่อยู่ โดยทั่วไปจะป้อนที่อยู่ 0000 ในคำสั่งเหล่านี้[ 10 ]

00 11 12 15 16 17 18 23 24 29 30
000000000000 คำสั่ง 00 ติดตาม ภาคส่วน 0
ตัวอย่างคำสั่งการดำเนินการ
ข. 2000 0001Bring from Memory:แทนที่เนื้อหาในตัวสะสมด้วยเนื้อหาในตำแหน่งหน่วยความจำ 2000 เนื้อหาในตำแหน่งหน่วยความจำ 2000 จะไม่ได้รับผลกระทบ
h 2000 1100Hold and Store:แทนที่เนื้อหาในตำแหน่งหน่วยความจำ 2000 ด้วยเนื้อหาในตัวสะสม (accumulator) เนื้อหาในตัวสะสมจะไม่ได้รับผลกระทบ
ค.ศ. 2000 1101Clear and Store:แทนที่ค่าในตำแหน่งหน่วยความจำ 2000 ด้วยค่าในตัวสะสม และแทนที่ค่าในตัวสะสมด้วยศูนย์
y 2000 0010Store Address:แทนที่เนื้อหาส่วนที่อยู่ของคำในตำแหน่งหน่วยความจำ 2000 ด้วยเนื้อหาส่วนที่อยู่ของคำในตัวสะสม เนื้อหาในตัวสะสมจะไม่ได้รับผลกระทบ LGP-30 ไม่มีรีจิสเตอร์ดัชนี สามารถใช้ Y เพื่อแก้ไขโค้ดด้วยตนเองเพื่อเข้าถึงดัชนีของอาร์เรย์ได้
u 2000 1010Unconditional transfer:แทนที่ตัวเลขในรีจิสเตอร์ตัวนับ (โปรแกรม) ด้วยเนื้อหาของส่วนที่อยู่ของคำสั่งถ่ายโอนแบบไม่มีเงื่อนไข
ร 2000 0011Return address:เพิ่มค่าหนึ่งให้กับค่าในรีจิสเตอร์ตัวนับ (โปรแกรม) และแทนที่ส่วนที่อยู่ของตำแหน่งหน่วยความจำ 2000 ด้วยค่าในรีจิสเตอร์ตัวนับ คำสั่งนี้ใช้เพื่อแก้ไขunconditional transferคำสั่งในตอนท้ายของซับรูทีนเพื่อให้ส่งกลับไปยังผู้เรียก R จะตามด้วยคำสั่งกระโดดไปยังจุดเริ่มต้นของซับรูทีนทันที R ยังสามารถใช้เพื่อแก้ไขTestคำสั่งเพื่อสร้างการส่งกลับแบบมีเงื่อนไขได้ อีกด้วย
ต 2000 1011Test:(การโอนย้ายแบบมีเงื่อนไข) ถ้าบิตเครื่องหมายของคำในตัวสะสมเป็น 1 คำสั่งทดสอบจะมีผลเหมือนกับการโอนย้ายแบบไม่มีเงื่อนไข แต่ถ้าบิตเครื่องหมายของคำในตัวสะสมเป็น 0 คำสั่งถัดไปตามลำดับปกติจะถูกดำเนินการ
z 0000 0000Stop:หยุดการคำนวณ หากต้องการหยุดการคำนวณ ส่วนที่อยู่ของคำสั่งหยุดมักไม่มีความสำคัญ อย่างไรก็ตาม ลำดับการหยุดมีลักษณะพิเศษ หากมีเลข 1 อยู่ในบิตที่สามนับจากด้านขวาสุดของส่วนแทร็กของคำสั่งหยุด การคำนวณจะไม่หยุดหากกดสวิตช์เบรกพอยต์ 4 บนคอนโซลของคอมพิวเตอร์ คำสั่ง z รองรับสวิตช์เบรกพอยต์สี่ตัว
หน้า 2000 1000Print:ดำเนินการตามฟังก์ชันแป้นพิมพ์ของเครื่องพิมพ์ดีดที่ระบุโดยบิตแทร็ก 6 บิต ลำดับการพิมพ์ไม่มีผลต่อเนื้อหาในตำแหน่งหน่วยความจำใดๆ ตัวสะสม หรือรีจิสเตอร์ตัวนับ ตัวอย่างเช่น p 2000 มีค่า 010100 ในบิตแทร็ก ซึ่งเป็นรหัสสำหรับการลบตัวอักษรบนเครื่องพิมพ์ดีด การดำเนินการ p 2000 จะส่งผลให้เครื่องพิมพ์ดีดทำการลบตัวอักษร
i 0000 0100Input:ส่วนที่อยู่ของคำสั่งที่สร้างขึ้นจากลำดับนี้จะเป็น 0000 เสมอ โดยจะนำหน้าด้วยคำสั่ง p 0000 เสมอ หลังจากคำสั่ง ap 0000 เริ่มการทำงานของเครื่องอ่านเทป คำสั่ง i 0000 จะถ่ายโอนบิต 4 บิตแรกของรหัสเครื่องพิมพ์ดีดสำหรับอักขระตัวแรกที่อ่านได้จากเทปไปยังตำแหน่ง 4 บิตสุดท้ายของตัวสะสม เมื่ออ่านอักขระตัวที่สอง บิตที่แสดงถึงอักขระตัวแรกจะถูกเลื่อนไปทางซ้ายไปยังตำแหน่ง 4 บิตรองสุดท้ายของตัวสะสม และบิต 4 บิตแรกของรหัสเครื่องพิมพ์ดีดของอักขระตัวที่สองบนเทปจะถูกวางไว้ในตำแหน่ง 4 บิตสุดท้ายของตัวสะสม กระบวนการนี้จะดำเนินต่อไปสูงสุดแปดครั้งเพื่อเติมตัวสะสมให้เต็มจนกว่ารหัสหยุด (100000) จะปรากฏบนเทป รหัสหยุดจะหยุดเครื่องอ่านเทปและส่งสัญญาณเริ่มต้นไปยังคอมพิวเตอร์เพื่อให้คำสั่งที่ตามหลัง i 0000 ในหน่วยความจำถูกดำเนินการ บ่อยครั้งที่คำสั่งถัดไปนี้คือคำสั่ง ah หรือ c เพื่อให้สามารถจัดเก็บอักขระที่อ่านเข้าไปในตัวสะสมในตำแหน่งหน่วยความจำบางแห่งได้
ปี 2000 1110Add:นำค่าในตำแหน่งหน่วยความจำ 2000 มาบวกกับค่าในตัวสะสม และเก็บผลลัพธ์ไว้ในตัวสะสม ค่าในตำแหน่งหน่วยความจำ 2000 จะไม่เปลี่ยนแปลง
ส.ศ. 2000 1111Subtract:นำค่าที่อยู่ในตำแหน่งหน่วยความจำ 2000 ไปลบออกจากค่าในตัวสะสม และเก็บผลลัพธ์ไว้ในตัวสะสม ค่าที่อยู่ในตำแหน่งหน่วยความจำ 2000 จะไม่เปลี่ยนแปลง
ม.2000 0111Multiply upper:คูณตัวเลขในตัวสะสมด้วยตัวเลขในตำแหน่งหน่วยความจำที่ 2000 แล้วนำบิตที่มีค่ามากที่สุดสามสิบบิตของผลคูณไปใส่ในตัวสะสม เนื้อหาในตำแหน่งหน่วยความจำที่ 2000 จะไม่เปลี่ยนแปลง
n 2000 0110Multiply lower:คูณตัวเลขในตัวสะสมด้วยตัวเลขในตำแหน่งหน่วยความจำ 2000 แล้วนำบิตขนาดที่มีค่าต่ำที่สุด 31 บิตของผลคูณไปใส่ในบิตเครื่องหมายและบิตขนาด 30 บิตของตัวสะสม เนื้อหาในตำแหน่งหน่วยความจำ 2000 จะไม่ได้รับผลกระทบ
d 2000 0101Divide:นำตัวเลขในตัวสะสม (accumulator) มาหารด้วยตัวเลขในตำแหน่งหน่วยความจำที่ 2000 แล้วนำผลหารที่ปัดเศษให้เหลือสามสิบบิตไปใส่ในตัวสะสม เนื้อหาในตำแหน่งหน่วยความจำที่ 2000 จะไม่เปลี่ยนแปลง
e 2000 1001Extract:ใส่เลขศูนย์ในคำที่อยู่ในตัวสะสม (accumulator) ในตำแหน่งใดก็ตามที่มีค่าเป็นเลขศูนย์ในตำแหน่งที่ 2000 แต่ให้คงคำในตัวสะสมไว้เหมือนเดิม เนื้อหาในตำแหน่งที่ 2000 จะไม่ได้รับผลกระทบ คำสั่งนี้เทียบเท่ากับ คำสั่ง ANDในคอมพิวเตอร์ส่วนใหญ่

ภาษาโปรแกรม ACT-III

LGP-30 มีภาษาระดับสูงที่เรียกว่า ACT-III โทเค็นทุกตัวต้องถูกคั่นด้วยเครื่องหมายอะพอสโทรฟี ทำให้ยากต่อการอ่านและยากยิ่งขึ้นต่อการเตรียมเทป: [ 11 ]

s1'dim'a'500'm'500'q'500'' ดัชนี'j'j+1'j-1'' daprt'e'n't'e'r' 'd'a't'a''cr'' rdxit's35'' s2'iread'm'1''iread'q'1''iread'd''iread'n'' 1';'j'' 0'flo'd';'d.'' s3'sqrt'd.';'sqrd.'' 1'unflo'sqrd.'i/'10';'sqrd'' 2010'print'sqrd.''2000'iprt'sqrd''cr''cr'' ... 

อัลโกล 30

วิทยาลัยดาร์ทมัธได้พัฒนาการใช้งานALGOL 60 สองแบบ สำหรับ LGP-30 ALGOL 30 ของดาร์ทมัธเป็นระบบสามขั้นตอน (คอมไพเลอร์ โหลดเดอร์ และอินเตอร์พรีเตอร์) ที่ให้คุณสมบัติเกือบทั้งหมดของ ALGOL ยกเว้นคุณสมบัติที่ต้องใช้การจัดสรรพื้นที่จัดเก็บข้อมูลขณะรันไทม์ SCALP ซึ่งเป็นโปรเซสเซอร์ Algol แบบครบวงจร เป็นระบบขั้นตอนเดียวสำหรับชุดย่อยเล็ก ๆ ของ ALGOL: ไม่มีบล็อกอื่นนอกจากโปรแกรมทั้งหมด ไม่มีการประกาศขั้นตอน ไม่มีคำสั่งเงื่อนไขแต่ไม่มีนิพจน์เงื่อนไข ไม่มีโครงสร้างอื่นนอกจากwhileในforคำสั่ง ไม่มีswitchการประกาศซ้อนกัน (อนุญาตให้มีการเรียกซ้อนกัน) และไม่มีตัวแปรหรือตัวดำเนินการบูลีน เช่นเดียวกับใน ACT-III โทเค็นทุกตัวต้องคั่นด้วยเครื่องหมายอะพอสโทรฟี[ 9 ]

เผด็จการ

DICTATOR เป็นคำย่อที่ซับซ้อนของDODCO ซึ่งย่อมา จาก Interpretive Code for Three Address with Technical Optimum Range (รหัสตีความสำหรับสามที่อยู่ ที่มีช่วง ค่า ที่ เหมาะสมทางเทคนิค) DICTATOR ซึ่งเปิดตัวในปี 1959 เป็นตัวแปลภาษาที่ออกแบบมาเพื่อซ่อนรายละเอียดของเครื่อง LGP-30 จากโปรแกรมเมอร์ ภาษาโปรแกรมมีลักษณะคล้ายกับโค้ดแอสเซมบลีสามตัวถูกดำเนินการ โดยมีตัวถูกดำเนินการต้นทางสองตัวและตัวถูกดำเนินการปลายทางหนึ่งตัว ตัวเลขทั้งหมดเป็นเลขทศนิยมที่มีแมนทิสซาแปดหลักและเลขชี้กำลังสองหลักรองรับลอการิทึมธรรมชาติ และเลขชี้กำลัง รวมถึง sin, cosและarctanรองรับลูปซ้อนกันได้สูงสุดสี่ลูป มีการใช้งานการค้นหาในตารางและการย้ายข้อมูลในหน่วยความจำแบบบล็อก ตัวแปลภาษาใช้หน่วยความจำ LGP-30 มากกว่าครึ่งเล็กน้อย ใช้เวลาประมาณ 30 นาทีในการโหลดเทปกระดาษผ่าน Flexowriter การบวก ลบ คูณ และหารเลขทศนิยมใช้เวลาน้อยกว่า 455 มิลลิวินาทีต่อครั้ง ค่าโคไซน์คำนวณได้ใน 740 มิลลิวินาที[ 12 ]

การสตาร์ทเครื่อง

ขั้นตอนการเริ่มต้นหรือ " บูต " เครื่อง LGP-30 นั้นค่อนข้างซับซ้อน ขั้นแรก ต้องเสียบเทปกระดาษบูตสแตรปเข้าไปในเครื่องพิมพ์ดีดคอนโซลFriden Flexowriterผู้ใช้งานกดคันโยกบน Flexowriter เพื่ออ่านช่องที่อยู่ และกดปุ่มบนแผงด้านหน้าเพื่อถ่ายโอนที่อยู่ไปยังรีจิสเตอร์ของคอมพิวเตอร์ จากนั้นกดคันโยกบน Flexowriter อีกครั้งเพื่ออ่านช่องข้อมูล และกดปุ่มอีกสามปุ่มบนแผงด้านหน้าเพื่อบันทึกข้อมูลลงในที่อยู่ที่กำหนด กระบวนการนี้จะทำซ้ำประมาณหกถึงแปดครั้ง จนเกิดเป็นจังหวะขึ้นมา:

เรอ, ตุ๊ง, เรอ, ตุ๊ง, ตุ๊ง, ตุ๊ง, ตุ๊ง เรอ, ตุ๊ง, เรอ, ตุ๊ง, ตุ๊ง, ตุ๊ง, ตุ๊ง เรอ, ตุ๊ง, เรอ, ตุ๊ง, ตุ๊ง, ตุ๊ง, ตุ๊ง เรอ, ตุ๊ง, เรอ, ตุ๊ง, ตุ๊ง, ตุ๊ง, ตุ๊ง เรอ, ตุ๊ง, เรอ, ตุ๊ง, ตุ๊ง, ตุ๊ง, ตุ๊ง เรอ, ตุ๊ง, เรอ ตุ๊บ ตุ๊บ ตุ๊บ ตุ๊บ 

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

อาร์พีซี 4000

ในปี พ.ศ. 2503 Librascope ได้ประกาศเครื่องรุ่นใหม่ที่มีประสิทธิภาพมากกว่า คือ General Precision RPC 4000 [ 14 ]คล้ายกับ LGP-30 แต่ใช้ทรานซิสเตอร์ มีหน่วยความจำแบบดรัมขนาด 32 บิต จำนวน 8,008 คำ ประกอบด้วยทรานซิสเตอร์ 500 ตัว และไดโอด 4,500 ตัว ราคาขาย 87,500 ดอลลาร์สหรัฐ (เทียบเท่า 952,300 ดอลลาร์สหรัฐในปี พ.ศ. 2568) และมีน้ำหนัก 500 ปอนด์ (230 กิโลกรัม) [ 15 ] [ 16 ] [ 17 ]

แอลจีพี-21

ในปี พ.ศ. 2506 [ 18 ] Librascope ได้ผลิต LGP-30 รุ่นปรับปรุงใหม่ที่ใช้ทรานซิสเตอร์ชื่อ LGP-21 [ 19 ] [ 20 ] คอมพิวเตอร์เครื่องใหม่นี้มีทรานซิสเตอร์ประมาณ 460 ตัวและไดโอดประมาณ 375 ตัว ราคาเพียง 16,250 ดอลลาร์สหรัฐ (เทียบเท่า 170,900 ดอลลาร์สหรัฐในปี พ.ศ. 2568) ซึ่งเป็นราคาหนึ่งในสามของรุ่นก่อนหน้า อย่างไรก็ตาม ความเร็วของมันก็ลดลงเหลือประมาณหนึ่งในสามของคอมพิวเตอร์รุ่นก่อนหน้าเช่นกัน

คอมพิวเตอร์ส่วนกลางมีน้ำหนักประมาณ 90 ปอนด์ (41 กิโลกรัม) [ 21 ]ระบบพื้นฐาน (รวมถึงเครื่องพิมพ์และขาตั้ง) มีน้ำหนักประมาณ 155 ปอนด์ (70 กิโลกรัม) [ 22 ]

การใช้งานที่น่าสนใจ

เอ็ดเวิร์ด ลอเรนซ์ใช้ LGP-30 ในความพยายามของเขาที่จะสร้างแบบจำลองรูปแบบสภาพอากาศที่เปลี่ยนแปลง การค้นพบของเขาที่ว่าความแตกต่างอย่างมากในการพยากรณ์อาจเกิดจากความแตกต่างเล็กน้อยในข้อมูลเริ่มต้น ทำให้เขาบัญญัติศัพท์ว่าstrange attractorและbutterfly effectซึ่งเป็นแนวคิดหลักในทฤษฎีความโกลาหล [ 23 ] RPC -4000 (รุ่นต่อจาก LGP-30) ยังเป็นที่จดจำในฐานะคอมพิวเตอร์ที่เมล เคย์ทำงานเขียนโปรแกรมในตำนานด้วยรหัสเครื่องซึ่งเอ็ด นาเธอร์ เล่าขานในมหากาพย์แฮกเกอร์เรื่อง The Story of Mel [ 24 ]

การจำลอง

SIMH ซึ่งเป็น โปรแกรมจำลองระบบหลายแพลตฟอร์มและหลายระบบแบบโอเพนซอร์สและใช้งานได้ฟรี รองรับการจำลองซอฟต์แวร์ของ LGP-30 และ LGP-21

ดูเพิ่มเติม

บรรณานุกรม

  • ไคสเลอร์, สตีเฟน เอช. (2017). "บทที่สอง – เครื่อง Royal McBee/Librascope"กำเนิดคอมพิวเตอร์: จากดรัมสู่คอร์สำนักพิมพ์เคมบริดจ์ สโคลาร์ส LGP-30: หน้า 25-34, LGP-21: หน้า 34-43. ISBN 9781443896252.
  • "RPC 4000, LGP 30" (PDF) . รายงานมาตรฐาน EDP ของ AUERBACH . 3 . RPC-4000: หน้า 570-649; LGP-30: หน้า 651-741
  • เครื่อง LGP-30 ที่ใช้งานได้จริงจัดแสดงอยู่ที่เมืองสตุทการ์ท ประเทศเยอรมนี
  • คำอธิบาย LGP-30 เก็บถาวรเมื่อวันที่ 17 กรกฎาคม 2009 ที่Wayback Machine
  • คำอธิบาย LGP-21
  • โฆษณาปี 1962 ที่แสดงทั้ง LGP-30 และ RPC-4000
  • เรื่องราวของ สแตน พี. แฟรงเคิล ผู้ออกแบบ LGP-30 พร้อมภาพถ่าย
  • คู่มือการเขียนโปรแกรม
  • การวอร์มอัพ LGP-30บนYouTube
  • เทคนิคุม 29: แอลจีพี 30
  • จดหมายข่าว บริษัท Librazettes ปี 1950-1959 ที่เก็บถาวรเมื่อวันที่ 27 ธันวาคม 2014 ในWayback Machine – จดหมายข่าวบริษัทเกี่ยวกับ LGP-30:
  • พฤศจิกายน 1955 คอมพิวเตอร์อเนกประสงค์รุ่นใหม่สุดล้ำของ Librascope ออกสู่ตลาด
  • ธันวาคม พ.ศ. 2498 LGP-30 ได้รับรางวัลมากมายในงานแสดงสินค้า Chicago Automation Show
  • กรกฎาคม 1956 แผนความแม่นยำของราชวงศ์ – การส่งเสริมการขาย LGP-30
  • มีนาคม 1957 แผนกการค้าของ Librascope ทำผลงานได้อย่างยอดเยี่ยมในการผลิต LGP-30
  • “เอกสาร LGP-21” . www.bitsavers.org
  • เอกสารLGP-30, RPC-4000 และ RPC- 9000 www.bitsavers.org
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=LGP-30&oldid=1359840857 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ แอลจีพี-30

LGP -30 ซึ่งย่อมาจาก Librascope General Purpose และต่อมาคือ Librascope General Precision เป็นคอมพิวเตอร์สำเร็จรูปรุ่นแรกๆ ผลิตโดย บริษัท Librascope แห่ง เมืองเกลนเดล...

ออกแบบ

ที่ปรึกษาด้านการออกแบบหลักของคอมพิวเตอร์ Librascope คือ Stan Frankel ผู้ มีประสบการณ์ ในโครงการ Manhattan Project และเป็นหนึ่งในโปรแกรมเมอร์คนแรกของ ENIAC โดยได้รับความช่วยเหลือจาก James Cass ซึ่งในขณะนั้นเป็นนักศึกษาปริญญาโทที่ Caltech [ 6 ]...

ข้อกำหนด

ภาพภายในเครื่อง LGP-30 ที่ พิพิธภัณฑ์คอมพิวเตอร์สตุทการ์ท หน่วยความจำแบบดรัมอยู่ทางด้านซ้าย หน่วยประมวลผลกลาง (CPU) อยู่ทางด้านขวา หน่วยความจำดรัม LGP-30 ความยาวของคำ: 31 บิต รวมบิตเครื่องหมาย แต่ไม่รวมบิตเว้นวรรค ขนาดหน่วยความจำ: 4096 คำ ความเร็ว:...

ชุดคำสั่ง

LGP-30 มีคำสั่ง 16 คำสั่ง แต่ละคำสั่งใช้คำขนาด 31 บิต แต่ประมาณครึ่งหนึ่งของบิตไม่ได้ใช้งานและตั้งค่าเป็นศูนย์ คำสั่งประกอบด้วย "คำสั่ง" เช่น ตัวอักษร b สำหรับ "นำออกจากหน่วยความจำ" และส่วนที่อยู่ เช่น ตัวเลข 2000 เพื่อกำหนดตำแหน่งหน่วยความจำ...