Breadboard bilgisayar [kapalı]


19

Tamamen breadboard'lar ve temel elektronik bileşenlerle basit bir bilgisayar yapmak mümkün müdür? Örneğin, bu şekilde bilimsel bir hesap makinesi oluşturmak mümkün müdür?


10
Sadece mümkün değil, ama insanlar bunu yapıyor, örneğin megaprocessor.com ve daha fazlası, sadece "ayrık transistör cpu" veya benzeri için google. Sadece çok karmaşıklaşıyor ve inşa edilmesi ve hata ayıklanması yıllar alıyor
PlasmaHH

Breadboard ile ne demek istediğinize bağlı. Veroboard, etiket şeritleri veya annenin (evet) breadboard'a dövülmüş çivilerle tutturulmuş ölü böcek konstrüksiyonunu içeriyorsa - hepsi lehimlenirse evet, kesinlikle. Telleri rastgele bırakan plastik şeyleri kastediyorsanız, unutun ...
Brian Drummond

@BrianDrummond Re plastik breadboards - görünüşe göre mümkün (cevabımı görmek). Bu şekilde yapılmış birkaç bilgisayar gördüm. Biri yanlışlıkla bazı teller çıkardı, ne kabus. Gerçekten kaçtıkları için gerçekten şaşırdım.
tcrosley

2
Sanırım sonsuz breadboard'larınız olsaydı, tamamlama olur musunuz?
PyRulez

2
Gerçekten Homebrew CPU "web halkası" (arama motoru web hakim olmadan önce 90'larda bir şey oldu) keşfetmek gerekir: members.iinet.net.au/~daveb/simplex/ringhome.html
slebetman

Yanıtlar:


33

Bir mikroişlemciyi bir breadboard'a yerleştirmenin, breadboard'a bir bilgisayar inşa etme hakkı olduğunu kabul etmeyeceğim. G / Ç (klavye ve ekran gibi) dışında, bir mikro denetleyici tek başına tam bir bilgisayardır. Sadece bir breadboard'a yerleştirmek ve birkaç kabloyu bağlamak önemsizdir ve on dakika içinde yapılabilir.

OP, "Breadboard'lar ve temel elektronik bileşenlerle basit bir bilgisayar yapmak mümkün mü?" Diye sorduğunda, temel elektronik bileşenlerle bunun daha fazla bir şey ifade ettiğini düşünüyorum:

resim açıklamasını buraya girin

Şimdi bu, temel bileşenlerden yapılmış bir breadboard'daki (iyi, birkaç breadboard) bir bilgisayardır . Açıklaması burada . Bir düzine 74LS00 serisi IC'den oluşur. (Hepimiz transistörlerin yolu geri dönmek istiyorum düşünmek bilmemektedir; orijinal PDP-8 bir büyüklüğündeydi küçük buzdolabı ).

Bilimsel bir hesap makinesine gelince, yukarıda gösterilene benzer genel amaçlı bir bilgisayar yaptıysanız, bilimsel bir hesap makinesi olarak programlanabilir. Yalnızca mantık IC'lerini (bilgisayar yok) kullanarak bilimsel bir hesap makinesi oluşturmak son derece zor olacaktır; bunun gibi hesap makinelerinin tüm imalatçıları (Ti, HP vb.) özel büyük ölçekli IC'ler kullanmıştır . İşte am erken 4-bit hesap makinesi IC kullanan ev yapımı bir hesap makinesi.

Bir bilgisayarı mümkün olduğunca çabuk çalışır hale getirmek istiyorsa, o zaman mikrodenetleyici kullanmanın yol olduğunu kabul edeceğim. Bir bilgisayarın dahili olarak nasıl çalıştığını gerçekten anlamak istiyorsa, temel IC'lerden birini oluşturmak doğru yoldur.



1
@ColeJohnson Notları onun şeması olmadığını söylüyor!
tcrosley

1
@ JohnDx, sabit.
tcrosley

23

Sadece mümkün değil, aslında yaptım: bkz. Https://www.vttoth.com/CMS/projects/47

Breadboard'lardan birinin arka tarafındaki kablolama şöyle görünüyordu:

resim açıklamasını buraya girin

Elbette her şey hangi bileşenlerin "temel" olarak nitelendirildiğine bağlıdır. Benim durumumda, temel bileşenler 74 ... serisi TTL yongalarıydı, kabaca yüz tane. Tamamen transistörlerden bir bilgisayar inşa etmek ... bu çok ezici olurdu.

Ayrıca, 4-bit bilgisayarım, esas olarak bellek sınırlamaları nedeniyle (256 4-bit nybbles) bilimsel bir hesap makinesi olarak kullanılacak kadar güçlü değil. Ancak, adres alanını genişletmek çok zor değildir, belki de bir çağrı mekanizması kullanır ve 4096 nybble (12 bit adresler) zaten yeterince 65536 nybble (16 bit adresler) olabilir.


Tebrikler. Bu oldukça büyük bir başarı. Talimat setini beğendim
6800'ü

1
Transistörlerden başka bir şey kullanmadan bir işlemci inşa etmeye çalışan bir adam var. RAM, işlemci, her şey. MegaProcessor.com
Cole Johnson

4
Bazı insanlar benden daha sabırlı
Viktor Toth

10

Evet mümkündür, ancak elbette temel bir bileşen olarak düşündüğünüz şeye bağlı olarak, bilimsel bir hesap makinesi bulmak için sadece birkaç breadboard'dan biraz daha fazlasına ihtiyacınız olacaktır: transistöre temel bileşen veya flip-flop , bir EEPROM veya eski bir buzdolabından lehimleyebileceğiniz bir şey.

Burada bazı iyi yanıtlar var, ama sadece insanların sık sık düşünmedikleri bir şeye dikkat çekmek istiyorum. Bilgi işlem cihazlarının geçmişine bakıldığında, ağaç kabuğu ve çivilerden bir bilgisayar inşa etmenin zorluğu CPU veya ALU değildir. Asıl sorun hafıza. Çünkü depolanmış program konseptinin tamamının çalışması için çok miktarda ihtiyacınız var. Birkaç parmak arası terlik ve NAND geçidinden bir CPU yapabilirsiniz; örneğin, belirli kısıtlamalara sahip bir güç elektroniği uygulaması için, bir zamanlar yalnızca 69 flip-flop (4 16-bit yazmaç, 4 bayrak ve FETCH / EXECUTE'u gösteren 1 durum kayıt biti) kullanan bir mikroişlemci tasarladım. Silikonda uygulanır ve üzerinde çalışan yazılımlar yazar. Bu basit ve bir güç transistörünün tahliye kontağının boyutuna sığar. Ancak, yararlı herhangi bir programı saklamak için gereken bellek çok, çok daha büyüktür.

İlk başlarda, bellek tasarımın başlangıç ​​noktasıydı. İstikrarlı röleleri erken telefon santrallerinde olduğu gibi kullanabilirsiniz. Parmak arası terlik yapmak için vakum tüpleri veya transistörler kullanabilirsiniz; ve CPU kayıtları genellikle bu şekilde uygulandı. Ancak program ve veri depolama için kağıt bantlar, manyetik bantlar, dönen diskler veya dönen tamburlar kullanıldı. Çelik tel üzerinde elektronik tarafından sürekli olarak alınan ve yeniden iletilen akustik dalgalar bile. Aklınıza gelebilecek her şey, makul maliyetle makul bir süre için bazı bitleri tutabilir. Apollo orbiter ve ay iniş bilgisayarları ip olarak sarılmış bobin çekirdekli anıları kullandı. Tüm bunlar farklı arayüz ekipmanlarına ihtiyaç duyar ve CPU'nun bu tür anılara erişmek için neye benzemesi gerektiği üzerinde büyük bir etkiye sahiptir. Yarı iletken bellek sadece 1970'lerde ortaya çıktı, nihayet bu tür karmaşıklığı ortadan kaldırıyor. Ama sonra tekrar, modern dinamik RAM'ler de o kadar kolay değil.

Sonra bilgisayar için giriş-çıkış ekipmanı tasarlamak zorunda ek bir harika var. Birkaç ampul, bazı uygulamalar için uygundur, ancak metin giriş / çıkışına veya daha karmaşık bir şeye ihtiyacınız varsa, tekrar daha fazla zorlukla karşılaşırsınız. Delikli kart okuyucular, yazıcılar ve kağıt terminalleri günlerinde büyük bir işti. 1978 tarihli bir VT100 metin modu video terminali, bilimsel hesap makinesi breadboard bilgisayarınızın sahip olduğundan çok daha fazla bellek ve işleme gücüne sahiptir.


Parmak arası terlik kullanarak bellek uygulamak kesinlikle mümkün olsa da, bellek IC'lerine izin vermek için bir imtiyaz gerekli olduğunu düşünüyorum (bu ev yapımı bilgisayarlarda ALU için 74181'i kullanmak genellikle böyle). DIP paketinde yaklaşık 2 $ karşılığında 8Kx8 SRAM alabilirsiniz . Bir hesap makinesi için bu bol olmalı. EEPROM için de aynı.
tcrosley

1
@tcrosley katılıyorum. Sadece tarihin bir sözüne dikkat çekiyorum. Bugün bir homebrew bilgisayar inşa edecekseniz, bazı keyfi kurallara uymak için bunu yapmıyorsunuz, eğlence ve öğrenme için yapacaksınız. Ve bir mikroişlemcinin tasarlanması, 16 bin bit çekirdek belleği
sarmaktan

@PkP Çekirdek belleği nasıl ördüğünü hatırlayan ve bunu belgelendiren biri için söylenecek bir şey var . Biraz ya da iki parçanın nasıl çalıştığı kadar değil, ama deli olmadan 16 kbit yapmanın pratik tarafı. Tohum arısı projeleri üzerinde çalıştım. Deliliği görselleştirebilirim ... Bunu yapmak için bir zamanlar fabrika otomasyonu olduğunu varsayıyorum, ama üretim tarafı hakkında çok az yazılı gördüm.
RBerteig

2
@RBerteig teşekkürler, katılıyorum. Apollo uzay aracı bilgisayarının halat anılarının, kod bobinindeki her birini veya sıfırı çok dikkatli bir şekilde kontrol etmek için şaşırtıcı bir sabrı olan çok yetenekli dokumacı bayanlar tarafından dokunduğunu okuduğumu hatırlıyorum. etrafında atladı ya da bu yönde bir şey. Aynı kaynaktan, Apollo yazılımını yazan MIT mühendislerinin her yazılım değişikliğinden sonra yeni bir ROM örmelerinin altı ay sürdüğünü hatırlıyorum.
PkP

7

Bu mümkündür, ancak karmaşıklık ve boyut, temel elektronik bileşenler olarak adlandırdığınız şeye bağlıdır. Bir ALU ve sıralayıcı mantığı biraz karmaşıktır, ancak yapılabilir. Bellek basittir, ancak temel desen çok sayıda tekrarlanmalıdır (1000 kez düşünün).

Donanımın yanı sıra üzerinde çalışan bir yazılıma da ihtiyacınız olacak. Kaba bir tahmin olarak, orta derecede karmaşık bir CPU (klasik 16 bitlik talimatlar 8 bit veri seviyesi) için, yazılım çabanız donanım çabanızla karşılaştırılabilir olacaktır. (Daha basit bir CPU için daha fazla SW çabasına ihtiyacınız olacaktır.) Peki bu SW'yi makinenize nasıl yükleyeceksiniz?

Böcek avlama (ve çözme) ilginç bir girişim olacaktır. VHDL'de yazmaya başlamanızı ve bunu bir simülatörde çalıştırmanızı tavsiye ederim, bu hata ayıklamak için bir demet cips ve kablodan çok daha kolay olacaktır.

İki öğrencim simülasyon için VHDL ve C koduyla başlayarak ~ 1 yılda bazı temel yazılımlarla (GCC arka uç bağlantı noktası dahil) 16 bit CPU oluşturdu. ALU 74181 yongalar kullandı, bellek statik RAM'di ve PC ile bilgisayarları arasında arayüz oluşturmak için bir atMega kullandılar. Bilgisayar kısmen lehimsiz ekmek kordonlarında, kısmen de PCB'lerde (8 16 bit kayıt) idi. (Bu ikisi ortalama bir öğrenci değildi !)


5

Evet mümkün. Ama matematiği yapmak için bir mikro denetleyiciye ihtiyacınız var. Bu örnek bir proje. AVR mikrodenetleyici ve 16 × 2 LCD ekran kullanır.


+1 ARM işlemcisi kullanan bir hesap makinem var. Günümüzde mikrodenetleyici temel bir bileşen olarak düşünülmelidir.
Spehro Pefhany

25
Bir mikroya ihtiyacınız yok, sadece işleri kolaylaştırıyor.
PlazmaHH

PlazmaHH bir mikrodenetleyici veya birden fazla breadboard. Sadece temel 2 girişli kapılar mı var? İyi eğlenceler. OTOH a ROM veya iki + bir MUX + kaydı = zaten basit bir mikrodenetleyici.
John Dvorak

Mikrodenetleyicilerin nasıl matematik yaptığını düşünüyorsunuz? ALU'lar ile - silikonu / transistörlerden / temel kapılardan yapılmış, hangi ölçeğe baktığınıza bağlı olarak.
user3728501

Mikrodenetleyiciler ve mikroişlemciler de elektronik elemanlardan yapılır, böylece bunları bir breadboard üzerinde yapabilirsiniz, gerçek bir mikrodenetleyiciye gerek yoktur
phuclv
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.