Procesory do szkolnego projektu komputerowego w stylu retro

9

Jestem studentem szkoły informatycznej i staramy się wymyślić projekt, który można wykorzystać, aby pokazać studentom pierwszego roku, jak działają rzeczy za sceną, i w końcu pomyśleliśmy o stworzeniu retro komputera.

Przeczytałem wiele rzeczy dotyczących procesora Z80, ale domyślam się, że potrzebujemy czegoś mocniejszego, wciąż zastanawiamy się nad architekturą, chociaż ARM może być dobrym wyborem, biorąc pod uwagę, że znajdziemy dużo dokumentacji, mamy ustalono również niektóre specjalne potrzeby:

  • Zewnętrzna magistrala adresowa, jeśli potrzebujemy więcej pamięci RAM
  • > 50 MHz
  • 16 lub 32 bity
  • Brak pakietu BGA / QFN
  • Brak karty FPGA
  • Interfejs szeregowy (?)
  • Nie jest też zbyt drogi, ponieważ mamy ograniczony budżet

P8X32A-D40 wygląda jak dobry procesor, ale brakuje mu potrzebnej pamięci RAM (32k), bardziej zastanawiałem się nad czymś takim jak> 1 MB. Może warto rozważyć eZ80. Chcemy odpowiedzi od eksperymentowanych osób takich jak Ty.

Dziękuję Ci.

Edycja: Mimo że zaakceptowałem odpowiedź, która wypełnia nasze potrzeby, pytanie pozostaje otwarte na inne sugestie, ponieważ będziemy musieli omówić wybory z zespołem studentów chętnych do udziału w projekcie.

Anthony Teisseire
źródło
4
Najpierw dyskutujesz o stworzeniu komputera retro, a następnie wystawiasz specyfikacje (50 MHz,> 1 MB pamięci RAM) dla mikroprocesorów znacznie nowszych. Z80 miał maksymalną częstotliwość taktowania 2 MHz i mógł obsługiwać 64 KB pamięci. Układ śmigła (P8X32A-D40) jest jednym z moich ulubionych ze względu na jego unikalną architekturę, ale zdecydowanie nie jest to komputer retro. Z80 nie jest złym wyborem, ponieważ istnieje sporo informacji na temat składania systemu zbudowanego w domu, na przykład zobacz to .
tcrosley
Wiem, że te specyfikacje sprawiłyby, że komputery z dawnych czasów byłyby zazdrosne, ale myślę, że jakiś retro ++ byłby idealny (pozostali studenci i tak uważają coś poniżej 1 GHz za „retro”…)
Anthony Teisseire
4
W klasie mikrokontrolerów, którą wziąłem, używaliśmy Motoroli 6800 ... jest wystarczająco złożona ze wszystkimi różnymi trybami adresowania, dzięki czemu 8-bitowe Atmele i PIC wyglądają jak zabawka. Ale to nie jest tak skomplikowane, że możesz zbudować mentalny model rzeczy bez utraty rozumu. To zależy tylko od tego, jak „pod maską” chcesz się dostać.
Daniel
Chciałem zbudować coś takiego. Spójrz na WDC 65C816 - to 16-bitowa pochodna CMOS czcigodnego 6502 i jest dostarczana w pakiecie DIP40.
Peter
7
Całkowicie nie zgadzam się z powodem zamknięcia tego pytania. OP szuka odpowiedniej architektury komputerowej dla uczniów, biorąc pod uwagę zestaw kryteriów. Najpierw odpowiedziałem zaleceniem dotyczącym odpowiedniej architektury, prawdopodobnie takiej, o której nie wiedział, i tak, a następnie zaleciłem konkretny układ, ponieważ był on dostępny w przyjaznym dla studentów pakiecie DIP. Sądzę jednak, że moja dość wyczerpująca odpowiedź zawierająca powody moich rekomendacji byłaby przydatna w przyszłości dla każdego, kto próbuje podjąć tę samą decyzję. Polecam to ponownie.
tcrosley

Odpowiedzi:

6

Chociaż obecnie dostępne wersje nie mają prawdziwej zewnętrznej magistrali adresowej (nadchodzi), możesz rozważyć Microchip PIC32 . Jego architektura oparta jest na MIPS z 1988 roku i jest jednym z dwóch głównych zestawów instrukcji RISC (drugim jest ARM). W związku z tym można to uznać za retro. (Trochę ciekawostek: Sony Playstation używa procesora MIPS.)

Jedną z fajnych cech PIC32 (i niezwykłych jak na 32-bitowy mikrokontroler) jest to, że można uzyskać kilka odmian w pakiecie DIP, jednak maksymalna dostępna pamięć będzie ograniczona w porównaniu z wersjami do montażu powierzchniowego. Jednym z PIC z największą pamięcią w 28-pinowym pakiecie DIP jest PIC32MX250F128 z 128 KB pamięci Flash (program) i 32 KB pamięci RAM. Jest dostępny w Digi-Key w Stanach Zjednoczonych i Farnell w Wielkiej Brytanii .

Chociaż pamięć RAM może wydawać się ograniczona, należy pamiętać, że PIC są architekturą Harvarda , co oznacza, że ​​przestrzeń adresowa programu i danych jest oddzielna, a programy są wykonywane bez pamięci flash, więc nie potrzebujesz dużo pamięci RAM. (Dla purystów PIC32 są w rzeczywistości zmodyfikowaną architekturą Harvarda, ponieważ możliwe jest uruchamianie programów z pamięci RAM.) Inną alternatywą jest Von Neumannarchitektura (używana na przykład w komputerach PC), w której na wszystko jest jedna przestrzeń adresowa, a programom zwykle brakuje pamięci RAM, z jednym wyjątkiem, że zazwyczaj muszą mieć przynajmniej Flash lub ROM (zwany BIOS na komputerze) w przestrzeń adresowa procesora do wykonania procedury rozruchowej w celu załadowania systemu operacyjnego z urządzenia pamięci masowej lub sieci do pamięci RAM. Z80 (i większość mikroprocesorów swoich czasów) również wykorzystywał architekturę von Neumanna. Trzeba więc było zmieścić zarówno program, jak i dane w 64 KB. Niektóre mikroskopy z architekturą Von Neumann również zamapowały swoje urządzenia peryferyjne w tej samej przestrzeni adresowej 64K; inni używali oddzielnego adresowania portów.

Re zewnętrzna magistrala, obecne PIC32 (ale tylko w pakietach do montażu powierzchniowego, ze względu na liczbę pinów) mają 8 lub 16-bitowy „Parallel Master Port” (PMP), który w połączeniu z DMA może przesyłać dane tam iz powrotem automatycznie między pamięcią RAM PIC a zewnętrzną pamięcią RAM lub urządzeniem peryferyjnym. Nie pozwala to jednak na bezpośredni dostęp do pamięci zewnętrznej (w przestrzeni adresowej procesora) ani uruchamianie tam kodu. Najnowsza rodzina PIC32MZ , wymieniona na liście Digi-Key, ale jeszcze nie dostępna w magazynie , będzie miała prawdziwą zewnętrzną magistralę adresową, do 2 MB pamięci Flash, 1/2 MB pamięci RAM i będzie działać z częstotliwością 200 MHz.

PIC32MX250F128 działa z częstotliwością 50 MHz, są też inne, które działają z częstotliwością 80 MHz. Ma dwa porty szeregowe UART; będziesz potrzebował konwertera poziomów, aby przetłumaczyć to na sygnały RS232.

Ponieważ jest on zapakowany jako mikroprzełącznik i może działać bez zewnętrznego oscylatora, aby rozpocząć, potrzebujesz jedynie zasilacza 3.3.v, niektórych nakrętek odsprzęgających 0,1 µF i płyty chlebowej. Możesz uzyskać bezpłatny kompilator C i IDE od Microchip.

Po uruchomieniu procesora możesz dodać urządzenia peryferyjne, takie jak wyświetlacz LCD, przyciski (nawet klawiatura) itp.

Możesz uzyskać inne PIC32MX z nawet 512 KB Flash i 128 KB RAM, ale tylko w pakietach do montażu powierzchniowego, takich jak TQFP i VQFN , które wymagałyby ułożenia płytki drukowanej (miałbyś ten sam problem z dowolnym procesorem ARM).

tcrosley
źródło
Bardzo dziękuję, jest to bardzo pouczające i taki PIC faktycznie spełni nasze potrzeby. Dostosujemy nasz projekt na wypadek, gdybyśmy poczuli potrzebę przejścia na pakiet VQFN lub rodzinę PIC32MZ.
Anthony Teisseire
Nie powiedziałbym, że jest to wymagane od procesorów, które używają architektury von Neumanna do uruchamiania swoich programów z pamięci RAM. Z pewnością możliwe jest umieszczenie pamięci flash i pamięci RAM w tej samej mapie pamięci, co pozwala na uruchomienie kodu z dowolnego z nich. Procesory von Neumann mają po prostu jedną szynę i przestrzeń adresową na instrukcje i dane.
Jason R
@JasonR Nie chciałem sugerować, że programom w architekturze Von Neumanna zabrakło pamięci RAM, w rzeczywistości muszą mieć przynajmniej trochę pamięci Flash lub ROM (zwanej BIOS w komputerze), aby wykonać procedurę rozruchu w celu załadowania systemu operacyjnego z urządzenia pamięci masowej lub sieci do pamięci RAM. (Oczywiście naprawdę wczesne komputery, w tym wczesne komputery, takie jak Altair 8800 , nawet nie miały pamięci rozruchowej i trzeba było ręcznie włączyć moduł ładujący za pomocą przełączników na panelu przednim). Zaktualizowałem swoją odpowiedź.
tcrosley
3

Chociaż zasadniczo zgadzam się z @tcrosley, czuję się zobowiązany do wskazania, że ​​jeśli naprawdę chcesz pokazać innym uczniom, jak rzeczy działają „za sceną”, powinieneś dostać kartę FPGA (po prostu kup ją, nie próbuj jej robić ) i dowiedz się, jak budować procesory od zera za pomocą logiki. Spójrz na to jako dobry punkt wyjścia.

markt
źródło
1

Czy rozważałeś serię MC68000?

Jest to 16/32 bitowy procesor, z wyjątkiem 68008, linia danych to 16 bitów, niektóre z nich mogą z łatwością działać z częstotliwością 50 MHz, a przestrzeń adresowa to 16 MB.

  • Zewnętrzna magistrala adresowa, jeśli potrzebujemy więcej pamięci RAM - tak i tylko
  • > 50 MHz - może być
  • 16 lub 32 bity - oba
  • Brak pakietu BGA / QFN - tak
  • Brak karty FPGA - nie
  • Interfejs szeregowy (?) Nie , musisz zrobić swój, ale bardzo łatwy
  • Nie jest też zbyt drogi, ponieważ mamy ograniczony budżet - tak

Oto pełna dokumentacja: https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf

Jeremy Talus
źródło