Retro bilgisayar okulu projesi için CPU'lar


9

Ben bir BT okulunda öğrenciyim ve 1. sınıf öğrencilerine olayların nasıl yürüdüğünü göstermek için kullanabileceğimiz bir projeyi düşünmeye çalışıyoruz ve sonunda retro bir bilgisayar yapmayı düşündük.

Z80 işlemcisi ile ilgili birçok şey okudum, ama tahminim daha güçlü bir şeye ihtiyacımız var, mimariyi merak ediyoruz, ancak ARM çok fazla belge bulacağımızı düşünerek iyi bir seçim olabilir, ayrıca bazı özel ihtiyaçlar belirledi:

  • Daha fazla RAM'e ihtiyacımız varsa harici bir adres veriyolu
  • > 50 Mhz
  • 16 veya 32 bit
  • BGA / QFN paketi yok
  • FPGA kartı yok
  • Bir seri arayüz (?)
  • Sınırlı bir bütçemiz olduğu için çok pahalı değil

P8X32A-D40 iyi bir CPU'ya benziyor ancak ihtiyacımız olan RAM miktarından yoksun (32k), daha fazla> 1MB gibi bir şey düşünüyordum. Belki eZ80 dikkate değer. Sizin gibi denenmiş insanlardan cevaplar istiyoruz.

Teşekkür ederim.

Düzenleme: İhtiyaçlarımızı karşıladığı için bir yanıtı kabul etsem de, projeye katılmak isteyen öğrenci ekibi ile seçimler hakkında görüşmek zorunda kalacağımız için soru hala diğer önerilere açık.


4
Önce retro bir bilgisayar yapmayı tartışırsınız ve daha sonra mikroişlemciler için çok daha yeni özellikler (50 MHz,> 1 MB RAM) koyarsınız. Z80 maksimum 2 MHz saat hızına sahipti ve 64K belleği destekleyebiliyordu. Pervane çipi (P8X32A-D40) eşsiz mimarisi nedeniyle favorilerimden biri ama kesinlikle retro bilgi işlem değil . Z80 kötü bir seçim değildir, çünkü ev yapımı bir sistemi bir araya getirme konusunda oldukça fazla bilgi vardır, örneğin buna bakın .
tcrosley

Bu spesifikasyonların eski gün bilgisayarlarını kıskanacağını biliyorum, ama bir çeşit retro ++ ideal olacağını düşünüyorum (Diğer öğrenciler
1GHz'in

4
Aldığım bir mikrodenetleyici sınıfında Motorola 6800'ü kullandık ... 8-bit Atmels ve PIC'lerin oyuncak gibi görünmesini sağlayan tüm farklı adresleme modları ile yeterince karmaşıktır. aklını kaybetmeden şeyin zihinsel modeli. Sadece 'kaputun altında' nasıl almak istediğinize bağlı.
Daniel

Ben böyle bir şey inşa edecektim. WDC 65C816'ya bir bakın - saygıdeğer 6502'nin 16 bit CMOS türevi ve bir DIP40 paketinde geliyor.
Peter

7
Bu soruyu kapatma nedenine tamamen katılmıyorum . OP, bir dizi ölçüt göz önüne alındığında, okul öğrencileri için kullanılacak uygun bir bilgisayar mimarisi arıyor. Öncelikle uygun bir mimari tavsiyesi ile cevap verdim, muhtemelen farkında değildi ve evet, sonra öğrenci dostu bir DIP paketinde mevcut olduğu için belirli bir yonga tavsiye ettim. Ancak, önerilerimin nedenlerini listeleyen oldukça kapsamlı cevabımın gelecekte aynı kararı vermeye çalışan herkes için yararlı olacağını düşünüyorum. Bunun yeniden açılmasını önerin.
tcrosley

Yanıtlar:


6

Şu anda mevcut olan sürümlerin gerçek bir harici adres veriyolu olmamasına rağmen (geliyor), Microchip PIC32'yi düşünebilirsiniz . Mimarisi, 1988'e dayanan MIPS'ye dayanmaktadır ve iki büyük RISC komut setinden biridir (diğeri ARM'dir). Bu bakımdan retro olarak kabul edilebilir. (Biraz önemsiz şey: Sony Playstation bir MIPS işlemci kullandı.)

PIC32'nin güzel özelliklerinden biri (ve 32 bit mikrodenetleyici için olağandışı), bir DIP paketinde birkaç çeşit elde edebilmenizdir, ancak mevcut maksimum bellek, yüzeye monte versiyonlara kıyasla sınırlı olacaktır. 28 pimli bir DIP paketindeki en büyük belleğe sahip PIC'lerden biri , 128KB Flash (program) belleğe ve 32KB RAM'e sahip PIC32MX250F128'dir . Bu edinilebilir ABD'de Digi-Key ve İngiltere'de açmak .

RAM sınırlı gibi görünse de, PIC'lerin Harvard mimarisi olduğunu , yani program ve veri adres alanlarının ayrı olduğunu ve programların flash dışında yürütüldüğünü unutmayın, bu yüzden çok fazla RAM'e ihtiyacınız yoktur. (Püristler için PIC32'ler aslında değiştirilmiş-Harvard mimarisidir, çünkü programları RAM'den çalıştırmak mümkündür.) Diğer alternatif Von Neumann'dır.mimarisi (örneğin, PC'lerde kullanılır), her şey için bir adres alanı ve programlar genellikle RAM biter, bunun bir istisnası, genellikle en az bazı Flash veya ROM (PC'de BIOS adı verilir) işletim sistemini bir yığın depolama aygıtından veya ağdan RAM'e yüklemek için bir önyükleme rutini yürütmek üzere işlemcinin adres alanı. Z80 (ve zamanının çoğu mikroişlemcisi) bir Von Neumann mimarisi de kullandı. Yani hem program hem de veriyi 64 KB'ye sığdırmak zorunda kaldı. Von Neumann mimarisine sahip bazı mikrolar da çevre birimlerini aynı 64K adres alanına eşlediler; diğerleri ise ayrı bağlantı noktası adreslemesi kullandı.

Harici veriyolu, mevcut PIC32'ler (ancak sadece pim sayısı nedeniyle yüzeye montaj paketlerinde), DMA ile birleştiğinde verileri ileri geri aktarabilen 8 veya 16 bit genişliğinde bir "Paralel Ana Bağlantı Noktası" (PMP) içerir. PIC'in RAM'i ve harici RAM veya bir çevre birimi arasında otomatik olarak. Ancak bu, harici belleğe doğrudan (işlemcinin adres alanında) erişmesine veya orada kod çalıştırmasına izin vermez. Digi- Key'de listelenen ancak henüz stokta bulunmayan en yeni PIC32MZ ailesi , 2MB'a kadar Flash, 1/2 MB RAM ve 200 MHz'de çalışacak gerçek bir harici adres veriyoluna sahip olacak.

PIC32MX250F128 50 MHz'de çalışır, 80 MHz'de çalışan başkaları da vardır. İki seri UART bağlantı noktasına sahiptir; bunu RS232 sinyallerine çevirmek için bir seviye dönüştürücüsüne ihtiyacınız olacaktır .

DIP olarak paketlendiğinden ve harici bir osilatör olmadan çalışabildiğinden, başlamak için ihtiyacınız olan tek şey 3.3.v güç kaynağı, bazı 0.1 µF ayırma kapakları ve bir breadboard. Microchip'ten ücretsiz bir C derleyicisi ve IDE alabilirsiniz .

İşlemciyi çalıştırıp çalıştırdıktan sonra, LCD ekran, düğmeler (hatta klavye) vb. Gibi çevre birimleri ekleyebilirsiniz.

512KB'a kadar Flash ve 128KB RAM'e sahip diğer PIC32MX'leri alabilirsiniz, ancak yalnızca TQFP ve VQFN gibi bir PCB'yi yerleştirmenizi gerektiren yüzey montaj paketlerinde (aynı ARM işlemcisiyle de aynı sorunu yaşarsınız ).


Çok teşekkürler, bu çok bilgilendirici ve böyle bir PIC aslında ihtiyaçlarımızı karşılayacaktı. VQFN paketine veya PIC32MZ ailesine geçmemiz gerektiğinde tasarımımızı uyarlayacağız.
Anthony Teisseire

Programlarını RAM'den çalıştırmak için bir von Neumann mimarisi kullanan CPU'ların bir gereksinimi olduğunu söyleyemem. Aynı bellek haritasında flash ve RAM olması kesinlikle mümkündür, böylece her ikisinden de kod çalıştırmanıza izin verir. von Neumann CPU'lar, hem talimatlar hem de veriler için tek bir veriyolu ve adres alanına sahiptir.
Jason R

@JasonR Von Neumann mimarisindeki programların RAM'in bitmesi gerektiğini ima etmek istemedim, aslında işletim sistemini yüklemek için bir önyükleme rutini yürütmek için en azından bazı Flash veya ROM (PC'de BIOS olarak adlandırılır) olması gerekiyor bir yığın depolama aygıtını veya ağı RAM'e dönüştürür. (Elbette Altair 8800 gibi erken bilgisayarlar da dahil olmak üzere erken bilgisayarlarda bir önyükleme ROM'u bile yoktu ve ön panel anahtarlarını kullanarak elle bir önyükleyiciyi değiştirmek zorunda kaldınız). Cevabımı güncelledim.
tcrosley

3

@Tcrosley ile genel olarak hemfikir olduğum halde, diğer öğrencilere işlerin "sahne arkasında" nasıl çalıştığını gerçekten göstermek istiyorsanız, bir FPGA kartı almanız gerektiğini belirtmek zorundayım. ) ve mantık kullanarak sıfırdan CPU'ların nasıl oluşturulacağını öğrenin. Bir göz atın bu iyi bir başlangıç noktası için.


1

MC68000 serisini düşündünüz mü?

68008 veri hattı 16 bit dışında 16/32 bit CPU, bazıları 50 MHz'de kolayca çalışabilir ve adres alanı 16 MB'dir.

  • Daha fazla RAM'e ihtiyacımız varsa harici bir adres veriyolu - evet ve sadece
  • > 50 MHz - olabilir
  • 16 veya 32 bit - her ikisi de
  • BGA / QFN paketi yok - evet
  • FPGA kartı yok - hayır
  • Bir seri arayüz (?) Hayır, seninkini yapmak zorunda ama çok kolay
  • Sınırlı bir bütçemiz olduğu için çok pahalı değil - evet

İşte tam dokümantasyon: https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf

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.