คอมพิวเตอร์ Breadboard [ปิด]


19

เป็นไปได้ไหมที่จะทำคอมพิวเตอร์อย่างง่าย ๆ ด้วย breadboards และส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐาน? มันเป็นไปได้เช่นสร้างเครื่องคิดเลขวิทยาศาสตร์ด้วยวิธีนี้?


10
มันไม่ได้เป็นเพียง possbile แต่คนทำมันเช่นmegaprocessor.comและอื่น ๆ อีกมากมายเพียง google สำหรับ "ซีพียูทรานซิสเตอร์ไม่ต่อเนื่อง" หรือคล้ายกัน มันซับซ้อนขึ้นมากและใช้เวลาหลายปีในการสร้างและแก้ไขข้อบกพร่อง
PlasmaHH

ขึ้นอยู่กับสิ่งที่คุณหมายถึงโดยเขียงหั่นขนม ถ้ามันมี Veroboard, แถบป้ายหรือการก่อสร้างข้อผิดพลาดที่ยึดโดยตอกลงในเขียงหั่นขนมของแม่ (ใช่) - บัดกรีทั้งหมดแล้วใช่แน่นอน หากคุณหมายถึงสิ่งที่เป็นพลาสติกเหล่านั้นที่ปล่อยสายแบบสุ่มลืมมันไปเลย ...
Brian Drummond

@BrianDrummond Re เขียงพลาสติก - เห็นได้ชัดว่าเป็นไปได้ (ดูคำตอบของฉัน) ฉันเห็นคอมพิวเตอร์สองเครื่องสร้างขึ้นด้วยวิธีนี้ หากมีคนดึงสายไฟออกมาโดยไม่ตั้งใจ ฉันประหลาดใจจริงๆที่พวกเขาทำงานจริง
tcrosley

2
ฉันคิดว่าถ้าคุณมีเขียงหั่นขนมที่ไม่มีที่สิ้นสุด
PyRulez

2
คุณต้องค้นหา Homebrew CPU "web ring" (นั่นคือสิ่งที่ย้อนกลับไปในยุค 90 ก่อนที่เครื่องมือค้นหาจะครอบงำเว็บ): members.iinet.net.au/~daveb/simplex/ringhome.html
slebetman

คำตอบ:


33

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

เมื่อ OP ถามว่า "เป็นไปได้ไหมที่จะสร้างคอมพิวเตอร์อย่างง่ายด้วย breadboards และส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐาน" โดยส่วนประกอบอิเล็กทรอนิกส์พื้นฐานฉันคิดว่ามันมีความหมายมากกว่านี้:

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้ที่เครื่องคอมพิวเตอร์บนเขียงหั่นขนม (ดีหลาย Breadboards) สร้างขึ้นจากองค์ประกอบพื้นฐาน คำอธิบายของมันอยู่ที่นี่ มันประกอบด้วย IC 74 ซีรีส์ซีรีย์โหลของโหล (ฉันไม่คิดว่าเราต้องการย้อนกลับไปหาทรานซิสเตอร์เพราะPDP-8ดั้งเดิมมีขนาดเท่ากับตู้เย็นขนาดเล็ก )

เท่าที่เครื่องคิดเลขทางวิทยาศาสตร์ดำเนินต่อไปหากคุณสร้างคอมพิวเตอร์ที่ใช้งานทั่วไปอย่างที่แสดงไว้ด้านบนคุณก็สามารถตั้งโปรแกรมเป็นเครื่องคำนวณทางวิทยาศาสตร์ได้ การสร้างเครื่องคิดเลขวิทยาศาสตร์โดยใช้ตรรกะของ IC เท่านั้น (ไม่มีคอมพิวเตอร์) จะยากมาก ทั้งหมดของผู้ผลิตเครื่องคิดเลขแบบนั้น (Ti, HP ฯลฯ ) ที่ใช้เป็นพิเศษขนาดใหญ่ของ IC นี่คือเครื่องคิดเลขที่สร้างขึ้นในบ้านซึ่งใช้เครื่องคิดเลข 4 บิตก่อน

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



1
@ColeJohnson บันทึกของเขาบอกว่าเขาไม่มีแผนงานสำหรับมัน!
tcrosley

1
@JohnD ขอบคุณขอบคุณ
tcrosley

23

เป็นไปไม่ได้เท่านั้นที่ฉันทำจริง ๆ แล้ว: ดูhttps://www.vttoth.com/CMS/projects/47

นี่คือสิ่งที่การเดินสายไฟด้านหลังของหนึ่งในเขียงหั่นขนมที่ดูเหมือน:

ป้อนคำอธิบายรูปภาพที่นี่

แน่นอนว่าทุกอย่างขึ้นอยู่กับองค์ประกอบที่มีคุณสมบัติเป็น "พื้นฐาน" ในกรณีของฉันส่วนประกอบพื้นฐานคือ 74 ... ชิป TTL อนุกรมประมาณหนึ่งร้อยชิ้น หากต้องการสร้างคอมพิวเตอร์จากทรานซิสเตอร์ให้พูดว่า ... มันอาจจะเกินความจริง

นอกจากนี้คอมพิวเตอร์ 4 บิตของฉันยังไม่แรงพอที่จะใช้เป็นเครื่องคิดเลขวิทยาศาสตร์ส่วนใหญ่เป็นเพราะข้อ จำกัด ของหน่วยความจำ (256 4 บิต nybbles) อย่างไรก็ตามมันไม่ยากที่จะขยายพื้นที่ที่อยู่บางทีอาจใช้กลไกการเพจและ 4096 nybbles (ที่อยู่ 12 บิต) อาจเพียงพอแล้ว 65536 nybbles (ที่อยู่ 16 บิต) แน่นอน


ขอแสดงความยินดี ค่อนข้างประสบความสำเร็จ ฉันชอบชุดคำสั่ง - ทำให้ฉันนึกถึง 6800
tcrosley

1
มีผู้ชายคนหนึ่งที่ทำงานเกี่ยวกับการสร้างโปรเซสเซอร์โดยไม่ใช้อะไรนอกจากทรานซิสเตอร์ หน่วยประมวลผล RAM ทุกอย่าง MegaProcessor.com
โคลจอห์นสัน

4
บางคนอดทนมากกว่าฉัน
Viktor Toth

10

ใช่เป็นไปได้ แต่คุณต้องการมากกว่าสองสาม breadboards ขึ้นมาด้วยเครื่องคิดเลขวิทยาศาสตร์ขึ้นอยู่กับสิ่งที่คุณพิจารณาองค์ประกอบพื้นฐาน: ไม่ว่าคุณจะเรียกทรานซิสเตอร์เป็นส่วนประกอบพื้นฐานหรือฟลิปฟล็อป EEPROM หรือสิ่งที่คุณสามารถประสานออกจากตู้เย็นเก่า ๆ

มีคำตอบที่ดีที่นี่ แต่ฉันอยากจะชี้ให้เห็นสิ่งหนึ่งที่คนมักจะไม่พิจารณา ดูที่ประวัติของอุปกรณ์คอมพิวเตอร์ความยากลำบากในการสร้างคอมพิวเตอร์จากเปลือกไม้และเล็บไม่ใช่ CPU หรือ ALU ปัญหาหลักคือหน่วยความจำ. เพราะคุณต้องใช้มันเป็นจำนวนมากเพื่อให้แนวคิดโปรแกรมที่เก็บไว้ทั้งหมดทำงานได้ คุณสามารถสร้างซีพียูจาก flip-flop และประตู NAND เพียงไม่กี่ตัว ตัวอย่างเช่นแอปพลิเคชันอิเล็กทรอนิกส์กำลังที่มีข้อ จำกัด เฉพาะฉันเคยออกแบบไมโครโปรเซสเซอร์ที่ใช้เพียง flip-flop เพียง 69 ตัว (ลงทะเบียน 4 16 บิต, 4 ธงและ 4 สถานะการลงทะเบียน 1 บิตแทน FETCH / EXECUTE) มันใช้งานในซิลิกอนและผู้คนเขียนซอฟต์แวร์ที่ทำงานอยู่ ง่ายและพอดีกับขนาดของหน้าสัมผัสท่อระบายน้ำของทรานซิสเตอร์กำลัง แต่หน่วยความจำที่จำเป็นสำหรับการจัดเก็บโปรแกรมที่มีประโยชน์นั้นใหญ่กว่ามาก

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

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


แม้ว่ามันจะเป็นไปได้ที่จะใช้หน่วยความจำโดยใช้ flip-flop แต่ฉันคิดว่าจำเป็นต้องมีการอนุญาตให้ใช้หน่วยความจำ ICs (โดยปกติจะเป็นกรณีในคอมพิวเตอร์ที่ใช้ในครัวเรือนเหล่านี้เพื่อใช้ 74181 สำหรับ ALU) คุณสามารถรับ 8Kx8 SRAMในแพ็คเกจ DIP ได้ประมาณ $ 2 นั่นควรจะเป็นเครื่องคิดเลขมากมาย เหมือนกันสำหรับ EEPROM
tcrosley

1
@tcrosley ฉันเห็นด้วย ฉันแค่ชี้ให้เห็นคำพูดจากประวัติศาสตร์ หากคุณกำลังจะสร้างคอมพิวเตอร์ homebrew วันนี้คุณไม่ได้ทำตามกฎเกณฑ์บางอย่างคุณจะต้องทำเพื่อความสนุกและการเรียนรู้ และการออกแบบไมโครโปรเซสเซอร์ให้สนุกสนานและประสบการณ์การเรียนรู้ที่ดีกว่าการไขลานหน่วยความจำหลัก 16,000 บิต;)
PkP

@PkP มีบางอย่างที่ต้องบอกว่าสำหรับใครบางคนที่จำวิธีสานหน่วยความจำหลักและได้รับเอกสารนั้น ไม่มากที่ระดับของการทำงานเพียงเล็กน้อยหรือสอง แต่ด้านการปฏิบัติของวิธีการที่คุณทำ 16 กิโลบิตโดยไม่ต้องบ้า ฉันทำงานเกี่ยวกับโครงการ beed beed ฉันสามารถมองเห็นความวิกลจริต ... ฉันคิดว่ามีครั้งหนึ่งที่ระบบอัตโนมัติในโรงงานทำเช่นนั้น แต่ฉันเคยเห็นเขียนเกี่ยวกับด้านการผลิตน้อยมาก
RBerteig

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

7

เป็นไปได้ แต่ความซับซ้อนและขนาดขึ้นอยู่กับสิ่งที่คุณเรียกว่าส่วนประกอบอิเล็กทรอนิกส์ขั้นพื้นฐาน ตรรกะ ALU และซีเควนเซอร์นั้นซับซ้อนเล็กน้อย แต่สามารถทำได้ หน่วยความจำง่าย แต่รูปแบบพื้นฐานจะต้องทำซ้ำหลายครั้งมาก (คิด 1,000 ครั้ง)

นอกจากฮาร์ดแวร์คุณจะต้องใช้ซอฟต์แวร์ที่ทำงานอยู่ โดยประมาณคร่าวๆสำหรับ CPU ที่ซับซ้อนในระดับปานกลาง (คำแนะนำ 16 บิตคลาสสิกระดับข้อมูล 8 บิต) ความพยายามซอฟต์แวร์ของคุณจะเทียบเท่ากับความพยายามด้านฮาร์ดแวร์ของคุณ (สำหรับซีพียูแบบง่ายๆคุณจะต้องใช้ความพยายาม SW มากขึ้น) และคุณจะโหลด SW นั้นลงในเครื่องของคุณอย่างไร

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

นักเรียนสองคนของฉันสร้าง CPU 16 บิตพร้อมซอฟต์แวร์พื้นฐาน (รวมถึงพอร์ตแบ็กเอนด์ GCC) ใน ~ 1 ปีเริ่มต้นด้วยรหัส VHDL และ C สำหรับการจำลอง ALU ใช้ชิป 74181 หน่วยความจำคือ RAM แบบคงที่และพวกเขาใช้ atMega เพื่อเชื่อมต่อระหว่างพีซีและคอมพิวเตอร์ คอมพิวเตอร์นั้นใช้เบรดเบอร์ไร้สายเป็นส่วนหนึ่งและบางส่วนอยู่บน PCB (ตัวเรจิสเตอร์ 8 16 บิต) (ทั้งสองนี้ไม่ใช่นักเรียนโดยเฉลี่ย!)


5

ใช่มันเป็นไปได้ แต่คุณต้องมีไมโครคอนโทรลเลอร์เพื่อทำคณิตศาสตร์ นี่เป็นโครงการตัวอย่าง ใช้ไมโครคอนโทรลเลอร์ AVR และจอ LCD 16 × 2


+1 ฉันมีเครื่องคิดเลขที่ใช้โปรเซสเซอร์ ARM ทุกวันนี้ไมโครคอนโทรลเลอร์ควรได้รับการพิจารณาว่าเป็นองค์ประกอบพื้นฐาน
Spehro Pefhany

25
คุณไม่ต้องการไมโคร แต่มันทำให้ง่ายขึ้น
PlasmaHH

@PlasmaHH ไม่ว่าจะเป็นไมโครคอนโทรลเลอร์หรือหลายแผงควบคุม มีเพียงประตู 2 อินพุตเท่านั้น? มีความสุข. OTOH ROM หรือสอง + a MUX + register = ไมโครคอนโทรลเลอร์ที่เรียบง่ายอยู่แล้ว
John Dvorak

คุณคิดว่าไมโครคอนโทรลเลอร์ทำคณิตศาสตร์ได้อย่างไร? ด้วย ALU's - ทำจากซิลิคอน / ทรานซิสเตอร์ / เกตประตูขึ้นอยู่กับว่าคุณดูสเกลอะไร
3728501

ไมโครคอนโทรลเลอร์และไมโครโปรเซสเซอร์ยังทำจากองค์ประกอบอิเล็กทรอนิกส์ดังนั้นคุณจึงสามารถสร้างมันขึ้นมาบนบอร์ดได้โดยไม่ต้องใช้ไมโครคอนโทรลเลอร์ตัวจริง
phuclv
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.