
เทคโนโลยีคอมพิวเตอร์มีวิวัฒนาการและเปลี่ยนแปลงอย่างรวดเร็วมาก
จากของเดิมที่มีขนาดใหญ่โตเทอะทะ ทั้งทน ทั้งถึก
จนมีขนาดเล็กกระทัดรัดและเล็กลงจากเดิมมาก
หนึ่งภาพยอดนิยมที่ใช้กันบ่อยและเผยแพร่กันมาก
คือ กล่องขนาดใหญ่ที่ยกขึ้นไปที่ห้องเก็บสัมภาระ
ของเที่ยวบิน Pan American Airways
มีคำบรรยายประกอบภาพระบุว่าเป็น IBM 305 RAMAC
ซึ่งเป็นฮาร์ดดิสก์เชิงพาณิชย์เครื่องแรกของโลก
ที่พัฒนาขึ้นในปี 1957 มีความจุเพียง 5 เมกะไบต์
น้ำหนักรวมทั้งชุดหนักแค่ 1 ตัน


ที่มา. https://bit.ly/2vBluN9ในช่วงแรก หน่วยความจำของคอมพิวเตอร์มีความจุน้อยมาก
คอมพิวเตอร์อิเล็กทรอนิกส์เครื่องแรกที่พัฒนาขึ้นมาในช่วงสงครามโลกครั้งที่ 2
เพื่อช่วยให้ทหารคำนวณตาราง/มุมองศาในการยิงปืนใหญ่
ยังใช้หลอดสุญญากาศเพื่อเก็บข้อมูล/เป็นหน่วยความจำ
ต่อมา John Presper Eckert จึงได้ประดิษฐ์อุปกรณ์ที่ซับซ้อน
โดยใช้หลอดแก้วที่เต็มไปด้วยสารปรอทและคริสตัลควอตซ์
ซึ่งสามารถเก็บข้อมูลได้ไม่กี่แสนบิต
ทำให้ต่อมา เทคโนโลยีหน่วยความจำจึงได้เริ่มต้นพัฒนาขึ้น
เพราะต้องประการประสิทธิ์ผลและประสิทธิ์ภาพในการคำนวณสูงขึ้นมากกว่าเดิม


A core memory module with a capacity of 128 bytes. Photo: Konstantin Lanzet/Wikimedia Commonsในช่วงปลายปี 1940 Frederick W. Viehe
นักประดิษฐ์มือสมัครเล่นจาก Los Angles
ได้ยื่นขอจดสิทธิบัตรสำหรับหน่วยความจำรูปแบบใหม่
ที่ใช้หม้อแปลงขนาดเล็กเพื่อจัดเก็บข้อมูล
ต่อมาอุปกรณ์ชิ้นนี้ได้รับการปรับปรุงอย่างมีนัยสำคัญ
โดย An Wang นักฟิสิกส์ของฮาร์วาร์ด
ผู้ประดิษฐ์เครื่องพิมพ์งานเอกสารภาษาอังกฤษที่มาก่อนกาลเวลา
ที่พิมพ์ผ่านจอสีเขียวและแก้ไขได้เลยดีกว่าพิมพ์ดีด
ภายหลังมีคอมพิวเตอร์รุ่นใหม่จะมีโปรแกรมพวก Word ที่ดีกว่ามาทดแทน
ต่อมาก็ Jay Forrester กับ Jan A. Rajchman ในช่วงปี 1950
นำไปสู่พัฒนาการหน่วยความจำแกนแม่เหล็ก
เทคโนโลยีหน่วยความจำใหม่แบบนี้
เป็นหน่วยความจำแบบถาวรไม่ลบเลือนครั้งแรก
หน่วยความจำที่ไม่สูญเสียข้อมูล เมื่อสูญเสียพลังงาน(ไฟฟ้าดับ)
หน่วยความจำชนิดนี้ได้รับการพัฒนาจนมีการนำไปใช้อย่างกว้างขวาง
ในคอมพิวเตอร์ Whirlwind ของกองทัพเรือสหรัฐฯ
เพื่อใช้ในการติดตามเครื่องบินตามเวลาจริง

Project Whirlwind core memory, circa 1951
หน่วยความจำแกนแม่เหล็กประกอบด้วย
วงกลมคล้ายขนมโดนัทขนาดเล็กทำจากเฟอร์ไรต์ ferrite


แล้วร้อยสายไฟเข้าไปซ้อนทับกันเรียงตามลำดับ
โดนัทแต่ละอันมีหน่วยความจำเพียงเล็กน้อยและค่าของบิต (ศูนย์หรือหนึ่ง)
ซึ่งจะถูกระบุโดยทิศทางของฟลักซ์แม่เหล็ก magnetic flux
ปริมาณเส้นแรงแม่เหล็กหรือจำนวนของเส้นแรงแม่เหล็ก
ที่พุ่งจากขั้วหนึ่งไปยังขั้วหนึ่ง ของแท่งแม่เหล็ก มีหน่วยเป็น เวเบอร์ (Weber,Wb) ที่มา https://bit.ly/2OZ13k7
สายไฟที่ไหลผ่านรูในโดนัทสามารถตรวจจับ
(นั่นคืออ่าน) และเปลี่ยน (นั่นคือเขียน)
ตามผลของการดึงดูดของแกนแม่เหล็ก
หน่วยความจำหลักแบบนี้กลายเป็น
เทคโนโลยีหน่วยความจำนี้มีความโดดเด่นมาก
ในช่วงสองทศวรรษแรกของสงครามเย็น
(ระหว่างสหรัฐฯ กับ รัสเซีย)
แต่การผลิตชิ้นงานนี้เป็นงานที่ละเอียดอ่อน
แกนโดนัทมีขนาดเล็กและจะต้องถูกตีเกลียว
ด้วยมือที่มั่นคงแม่นยำโดยใช้แว่นขยาย
เมื่อแกนมีขนาดเล็กลงไปเรื่อย ๆ
วิศวกรก็มักจะพูดติดตลกว่า
แกนใหม่ทำจากหลุมเดิมที่เจาะของเก่าออกมา

Close-up of a core memory module. Photo: Konstantin Lanzet/Wikimedia Commons

Diagram of a 4×4 plane of magnetic core memory in an X/Y line coincident-current setup.
X and Y are drive lines, S is sense, Z is inhibit.
Arrows indicate the direction of current for writing. Diagram by Tetromino/Wikimedia Commonsหน่วยความจำแบบนี้ ก็เหมือนกับงานฝีมือ
ที่เกี่ยวข้องกับการทอ การตัดเย็บ
และการทำสิ่งทอในรูปแบบต่าง ๆ
ที่ผู้หญิงมีความชำนาญการมาก่อน/มากกว่าผู้ชาย
ในระหว่างการปฏิบัติภารกิจแรกของ Apollo
ซอฟต์แวร์ของ Apollo Guidance Computer
มีหน่วยความจำสูงนั้นก็ถูกถักทอขึ้นมา
เรียกว่า core rope memory
ซึ่งมีลักษณะคล้ายกับ หน่วยความจำแกนแม่เหล็ก
เพื่อสร้างหน่วยความจำนี้จำนวนมากขึ้นมา
NASA จึงว่าจ้างผู้หญิงที่มีทักษะด้านสิ่งทอ
ทั้งจากอุตสาหกรรมสิ่งทอในท้องถิ่น
รวมทั้งจาก Waltham Watch Company
เพราะทักษะนี้ต้องการความแม่นยำอย่างมาก
ในการทำงานรอบแกนโดนัทด้วยเข็ม
คนงานผู้หญิงเหล่านี้ต่างนั่งอยู่บนโต๊ะทำงานยาว
ต่างนั่งตรงข้ามกันเพื่อทำหน้าที่ร้อยสายไฟ
ให้ผ่านรูของตาไก่(แกนกลางโดนัท)
เส้นลวดก่อนที่จะร้อยผ่านรูตาไก่
จะสร้างรหัส 1 เมื่อผ่านเข้าไปในรูแล้วจะสร้างรหัส 0

หน่วยความจำ core rope memory
มีชื่อเล่นว่า LOL memory มาจาก Little Old Ladies
เพราะหัวหน้างานที่ดูแลการสร้างหน่วยความจำนี้ก็เป็นผู้หญิง
และหัวหน้าใหญ่ในงานนี้ก็คือ Margaret Hamilton
ซึ่งดำรงตำแหน่งผู้อำนวยการฝ่ายวิศวกรรมซอฟต์แวร์
ของ MIT Instrumentation Laboratory
ซึ่งพัฒนาซอฟต์แวร์การบินของยานอวกาศ
โครงการอวกาศ Apollo ของ NASA
หนึ่งในภารกิจหลักของ Margaret Hamilton
คือ การคิดหาวิธีจัดการกับข้อผิดพลาดของคอมพิวเตอร์
ในปี 1960 มีแนวทางปฏิบัติอย่างเป็นทางการเล็กน้อยมาก
เกี่ยวกับวิธีการเขียนเอกสารและทดสอบซอฟต์แวร์ที่ซับซ้อน
แต่ซอฟต์แวร์ Apollo นั้นปราศจากข้อผิดพลาดอย่างน่าทึ่ง
ทั้งที่สิ่งนั้นไม่ใช่มนุษย์แต่อย่างใด


ในช่วงการลงจอดของยานอวกาศ Apollo 11
นักบินอวกาศได้เปิดสวิตช์เรดาร์นัดพบโดยไม่ได้ตั้งใจ
ทำให้คอมพิวเตอร์ต้องทำงานประมวลผลหนักเกินไป
แต่ Margaret Hamilton คาดการหรือเดาว่า
ถ้ามีเหตุฉุกเฉินดังกล่าวเกิดขึ้น
ที่กลไกการทำงานเครื่องยนต์กับคอมพิวเตอร์ไม่สอดคล้องต้องกัน
ก็จะอนุญาตให้คอมพิวเตอร์ Lunar Module ถ้าทำงานหนักเกินไป
สามารถกระจายการคำนวณภารกิจที่ไม่สำคัญออกไป
ให้มุ่งเน้นไปที่กลไกลการควบคุมหลักขอขงเครื่องยนต์ก่อน
“ หากคอมพิวเตอร์ไม่ได้ตระหนักถึงปัญหานี้
แล้วยังมุ่งแต่กู้คืน(คำนวณแต่ปัญหาเรื่องปุ่มสวิตช์เรดาเปิด)
ฉันสงสัยว่า Apollo 11 จะประสบความสำเร็จในการจอดลงบนดวงจันทร์ ได้หรือไม่
(อาจจะขึ้นมาไม่ได้อีกเลย เพราะคอมพิวเตอร์ทำงานหนักจน Hang เอ๋อไปเลย)
ตามจดหมายที่ Margaret Hamilton
เขียนถึงผู้อำนวยการ Apollo Flight Computer Programming
ในกรณีต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ
การทำงานของหน่วยความจำแกนแม่เหล็ก
National Science Foundation of Florida
มีแบบเรียนให้ลองศึกษาและทดสอบที่
https://bit.ly/320yCHR

Margaret Hamilton หน้าเอกสาร software ร่วมกับทีมงาน MIT ใน Apollo Project.

ในยานอวกาศ

นิรนามกำลังร้อยสายหน่วยความจำให้ Apollo Guidance Computer

นิรนามกำลังร้อยสายหน่วยความจำให้ Apollo Guidance Computer

สาวเทคนิคร้อยสายผ่านโดนัทที่โรงงาน Raytheon ในเขต Boston


กล่องใส่ชุดหน่วยความจำ Apollo Guidance Computer

สาวเทคนิคติดตั้ง micrologic กับหน่วยความจำในสถานที่ผลิต Apollo Guidance Computer

หน่วยความจำ 8-GB microSD card กับแผงหน่วยความจำ 8-Bytes of magnetic-core memory.
Photo: Daniel Sancho/Wikimedia Commons





https://bit.ly/38A1KInเรียบเรียง/ที่มาhttps://bit.ly/37yNGxkReferences:# Computer History Museum
# Daniela K. Rosner et al. Making Core Memory
# Ken Shirriff's blog
# National Air And Space Museum
# Magnetic Core Memory
# IEEE Specturm
# Margaret_Hamilton
Cinder Lake Crater Field พื้นที่ดวงจันทร์จำลองของ NASA ที่ใช้ฝึกนักบินอวกาศ Appolo