เป็นไปได้ไหมที่จะทำคอมพิวเตอร์อย่างง่าย ๆ ด้วย breadboards และส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐาน? มันเป็นไปได้เช่นสร้างเครื่องคิดเลขวิทยาศาสตร์ด้วยวิธีนี้?
เป็นไปได้ไหมที่จะทำคอมพิวเตอร์อย่างง่าย ๆ ด้วย breadboards และส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐาน? มันเป็นไปได้เช่นสร้างเครื่องคิดเลขวิทยาศาสตร์ด้วยวิธีนี้?
คำตอบ:
ฉันจะไม่เห็นด้วยที่การวางไมโครคอนโทรลเลอร์ลงในเขียงหั่นขนมมีคุณสมบัติเท่ากับการสร้างคอมพิวเตอร์บนเขียงหั่นขนม ยกเว้นสำหรับ I / O (เช่นแป้นพิมพ์และจอแสดงผล) ไมโครคอนโทรลเลอร์ด้วยตัวมันเองเป็นคอมพิวเตอร์ที่สมบูรณ์ เพียงวางไว้บนเขียงหั่นขนมและเชื่อมต่อสายไฟเพียงเล็กน้อยนั้นสามารถทำได้ง่ายภายในสิบนาที
เมื่อ OP ถามว่า "เป็นไปได้ไหมที่จะสร้างคอมพิวเตอร์อย่างง่ายด้วย breadboards และส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐาน" โดยส่วนประกอบอิเล็กทรอนิกส์พื้นฐานฉันคิดว่ามันมีความหมายมากกว่านี้:
ตอนนี้ที่เครื่องคอมพิวเตอร์บนเขียงหั่นขนม (ดีหลาย Breadboards) สร้างขึ้นจากองค์ประกอบพื้นฐาน คำอธิบายของมันอยู่ที่นี่ มันประกอบด้วย IC 74 ซีรีส์ซีรีย์โหลของโหล (ฉันไม่คิดว่าเราต้องการย้อนกลับไปหาทรานซิสเตอร์เพราะPDP-8ดั้งเดิมมีขนาดเท่ากับตู้เย็นขนาดเล็ก )
เท่าที่เครื่องคิดเลขทางวิทยาศาสตร์ดำเนินต่อไปหากคุณสร้างคอมพิวเตอร์ที่ใช้งานทั่วไปอย่างที่แสดงไว้ด้านบนคุณก็สามารถตั้งโปรแกรมเป็นเครื่องคำนวณทางวิทยาศาสตร์ได้ การสร้างเครื่องคิดเลขวิทยาศาสตร์โดยใช้ตรรกะของ IC เท่านั้น (ไม่มีคอมพิวเตอร์) จะยากมาก ทั้งหมดของผู้ผลิตเครื่องคิดเลขแบบนั้น (Ti, HP ฯลฯ ) ที่ใช้เป็นพิเศษขนาดใหญ่ของ IC นี่คือเครื่องคิดเลขที่สร้างขึ้นในบ้านซึ่งใช้เครื่องคิดเลข 4 บิตก่อน
ฉันจะยอมรับว่าหากใครต้องการให้คอมพิวเตอร์ทำงานเร็วเท่าที่จะเป็นไปได้การใช้ไมโครคอนโทรลเลอร์เป็นหนทางที่จะไป หากต้องการเข้าใจวิธีการทำงานของคอมพิวเตอร์ภายในจริงๆแล้วการสร้างหนึ่งในไอซีพื้นฐานนั้นเป็นเส้นทางที่ถูกต้อง
เป็นไปไม่ได้เท่านั้นที่ฉันทำจริง ๆ แล้ว: ดูhttps://www.vttoth.com/CMS/projects/47
นี่คือสิ่งที่การเดินสายไฟด้านหลังของหนึ่งในเขียงหั่นขนมที่ดูเหมือน:
แน่นอนว่าทุกอย่างขึ้นอยู่กับองค์ประกอบที่มีคุณสมบัติเป็น "พื้นฐาน" ในกรณีของฉันส่วนประกอบพื้นฐานคือ 74 ... ชิป TTL อนุกรมประมาณหนึ่งร้อยชิ้น หากต้องการสร้างคอมพิวเตอร์จากทรานซิสเตอร์ให้พูดว่า ... มันอาจจะเกินความจริง
นอกจากนี้คอมพิวเตอร์ 4 บิตของฉันยังไม่แรงพอที่จะใช้เป็นเครื่องคิดเลขวิทยาศาสตร์ส่วนใหญ่เป็นเพราะข้อ จำกัด ของหน่วยความจำ (256 4 บิต nybbles) อย่างไรก็ตามมันไม่ยากที่จะขยายพื้นที่ที่อยู่บางทีอาจใช้กลไกการเพจและ 4096 nybbles (ที่อยู่ 12 บิต) อาจเพียงพอแล้ว 65536 nybbles (ที่อยู่ 16 บิต) แน่นอน
ใช่เป็นไปได้ แต่คุณต้องการมากกว่าสองสาม breadboards ขึ้นมาด้วยเครื่องคิดเลขวิทยาศาสตร์ขึ้นอยู่กับสิ่งที่คุณพิจารณาองค์ประกอบพื้นฐาน: ไม่ว่าคุณจะเรียกทรานซิสเตอร์เป็นส่วนประกอบพื้นฐานหรือฟลิปฟล็อป EEPROM หรือสิ่งที่คุณสามารถประสานออกจากตู้เย็นเก่า ๆ
มีคำตอบที่ดีที่นี่ แต่ฉันอยากจะชี้ให้เห็นสิ่งหนึ่งที่คนมักจะไม่พิจารณา ดูที่ประวัติของอุปกรณ์คอมพิวเตอร์ความยากลำบากในการสร้างคอมพิวเตอร์จากเปลือกไม้และเล็บไม่ใช่ CPU หรือ ALU ปัญหาหลักคือหน่วยความจำ. เพราะคุณต้องใช้มันเป็นจำนวนมากเพื่อให้แนวคิดโปรแกรมที่เก็บไว้ทั้งหมดทำงานได้ คุณสามารถสร้างซีพียูจาก flip-flop และประตู NAND เพียงไม่กี่ตัว ตัวอย่างเช่นแอปพลิเคชันอิเล็กทรอนิกส์กำลังที่มีข้อ จำกัด เฉพาะฉันเคยออกแบบไมโครโปรเซสเซอร์ที่ใช้เพียง flip-flop เพียง 69 ตัว (ลงทะเบียน 4 16 บิต, 4 ธงและ 4 สถานะการลงทะเบียน 1 บิตแทน FETCH / EXECUTE) มันใช้งานในซิลิกอนและผู้คนเขียนซอฟต์แวร์ที่ทำงานอยู่ ง่ายและพอดีกับขนาดของหน้าสัมผัสท่อระบายน้ำของทรานซิสเตอร์กำลัง แต่หน่วยความจำที่จำเป็นสำหรับการจัดเก็บโปรแกรมที่มีประโยชน์นั้นใหญ่กว่ามาก
ในช่วงต้นหน่วยความจำเป็นจุดเริ่มต้นของการออกแบบ คุณสามารถใช้รีเลย์ที่มีความเสถียรได้เช่นเดียวกับที่ทำในการแลกเปลี่ยนโทรศัพท์ก่อน คุณสามารถใช้หลอดสุญญากาศหรือทรานซิสเตอร์เพื่อทำรองเท้าแตะ และรีจิสเตอร์ของ CPU มักจะถูกนำไปใช้ในลักษณะนี้ แต่สำหรับโปรแกรมและการจัดเก็บข้อมูลเทปกระดาษเทปแม่เหล็กดิสก์หมุนหรือกลองหมุนถูกนำมาใช้ แม้แต่คลื่นอะคูสติกบนลวดเหล็กที่ได้รับและส่งซ้ำอย่างต่อเนื่องโดยอุปกรณ์อิเล็กทรอนิกส์ สิ่งใดก็ตามที่คุณคิดว่าสามารถถือได้บ้างในราคาที่สมเหตุสมผลด้วยราคาที่สมเหตุสมผล คอมพิวเตอร์ของยานอพอลโลและดวงจันทร์แลนเดอร์ใช้ขดลวดความทรงจำหลักที่พันกันเป็นเชือก สิ่งเหล่านี้ต้องการอุปกรณ์เชื่อมต่อที่แตกต่างกันและมีผลกระทบอย่างมากต่อสิ่งที่ CPU ต้องการเพื่อเข้าถึงความทรงจำเหล่านั้น หน่วยความจำเซมิคอนดักเตอร์ปรากฏในปี 1970 เท่านั้นจริงๆ ในที่สุดก็ยกเลิกความซับซ้อนแบบนั้น แต่แล้วอีกครั้ง RAMS แบบไดนามิกที่ทันสมัยก็ไม่ใช่เรื่องง่ายเช่นกัน
จากนั้นก็มีความมหัศจรรย์ที่เพิ่มขึ้นของการมีการออกแบบ equpment อินพุต - เอาต์พุตสำหรับคอมพิวเตอร์ หลอดไฟไม่กี่ตัวเหมาะสำหรับแอปพลิเคชั่นบางตัว แต่ถ้าคุณต้องการอินพุต / เอาต์พุตข้อความหรือบางอย่างที่ซับซ้อนยิ่งขึ้น เครื่องอ่านบัตรเครื่องพิมพ์และขั้วกระดาษเป็นธุรกิจขนาดใหญ่ในยุคสมัยของพวกเขา เทอร์มินัลวิดีโอโหมดข้อความ VT100 จากปี 1978 มีหน่วยความจำและพลังการประมวลผลมากกว่าคอมพิวเตอร์เครื่องคำนวณทางวิทยาศาสตร์ของคุณ
เป็นไปได้ แต่ความซับซ้อนและขนาดขึ้นอยู่กับสิ่งที่คุณเรียกว่าส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐาน ตรรกะ ALU และซีเควนเซอร์นั้นซับซ้อนเล็กน้อย แต่สามารถทำได้ หน่วยความจำง่าย แต่รูปแบบพื้นฐานจะต้องทำซ้ำหลายครั้งมาก (คิด 1,000 ครั้ง)
นอกจากฮาร์ดแวร์คุณจะต้องใช้ซอฟต์แวร์ที่ทำงานอยู่ โดยประมาณคร่าวๆสำหรับ CPU ที่ซับซ้อนในระดับปานกลาง (คำแนะนำ 16 บิตคลาสสิกระดับข้อมูล 8 บิต) ความพยายามซอฟต์แวร์ของคุณจะเทียบเท่ากับความพยายามด้านฮาร์ดแวร์ของคุณ (สำหรับซีพียูแบบง่ายๆคุณจะต้องใช้ความพยายาม SW มากขึ้น) และคุณจะโหลด SW นั้นลงในเครื่องของคุณอย่างไร
การล่าแมลง (และการแก้ไข) จะเป็นภารกิจที่น่าสนใจ ฉันแนะนำให้คุณเริ่มต้นการบีบอัดใน VHDL และเรียกใช้งานบนเครื่องจำลองซึ่งจะง่ายต่อการตรวจแก้จุดบกพร่องมากกว่าชิปและสายไฟ
นักเรียนสองคนของฉันสร้าง CPU 16 บิตพร้อมซอฟต์แวร์พื้นฐาน (รวมถึงพอร์ตแบ็กเอนด์ GCC) ใน ~ 1 ปีเริ่มต้นด้วยรหัส VHDL และ C สำหรับการจำลอง ALU ใช้ชิป 74181 หน่วยความจำคือ RAM แบบคงที่และพวกเขาใช้ atMega เพื่อเชื่อมต่อระหว่างพีซีและคอมพิวเตอร์ คอมพิวเตอร์นั้นใช้เบรดเบอร์ไร้สายเป็นส่วนหนึ่งและบางส่วนอยู่บน PCB (ตัวเรจิสเตอร์ 8 16 บิต) (ทั้งสองนี้ไม่ใช่นักเรียนโดยเฉลี่ย!)
ใช่มันเป็นไปได้ แต่คุณต้องมีไมโครคอนโทรลเลอร์เพื่อทำคณิตศาสตร์ นี่เป็นโครงการตัวอย่าง ใช้ไมโครคอนโทรลเลอร์ AVR และจอ LCD 16 × 2