CPU untuk proyek sekolah komputer retro

9

Saya seorang siswa di sekolah IT dan kami sedang mencoba memikirkan sebuah proyek yang dapat kami gunakan untuk menunjukkan kepada siswa tahun pertama bagaimana hal-hal bekerja di belakang panggung dan kami akhirnya berpikir untuk membuat komputer retro.

Saya telah membaca banyak hal mengenai prosesor Z80, tetapi dugaan saya adalah bahwa kami membutuhkan sesuatu yang lebih kuat, kami masih bertanya-tanya tentang arsitektur walaupun ARM mungkin merupakan pilihan yang baik mengingat kami akan menemukan banyak dokumentasi, kami memiliki juga menetapkan beberapa kebutuhan khusus:

  • Bus alamat eksternal jika kita membutuhkan lebih banyak RAM
  • > 50Mhz
  • 16 atau 32 bit
  • Tidak ada paket BGA / QFN
  • Tidak ada papan FPGA
  • Antarmuka serial (?)
  • Tidak terlalu mahal karena kami memiliki anggaran terbatas

P8X32A-D40 terlihat seperti CPU yang bagus tetapi tidak memiliki jumlah RAM yang kami butuhkan (32k), saya lebih memikirkan sesuatu seperti> 1MB. Mungkin eZ80 layak untuk dipertimbangkan. Kami ingin jawaban dari orang yang bereksperimen seperti Anda.

Terima kasih.

Sunting: Meskipun saya telah menerima jawaban karena memenuhi kebutuhan kita, pertanyaan itu masih terbuka untuk saran lain karena kita harus membahas tentang pilihan dengan tim siswa yang bersedia berpartisipasi dalam proyek.

Anthony Teisseire
sumber
4
Pertama Anda membahas membuat komputer retro, dan kemudian memasang spesifikasi (50 MHz,> 1 MB RAM) untuk mikroprosesor yang jauh lebih baru. Z80 memiliki clock rate maksimum 2 MHz, dan dapat mendukung 64K memori. Chip Propeller (P8X32A-D40) adalah salah satu favorit saya karena arsitekturnya yang unik tetapi jelas bukan komputasi retro. Z80 bukan pilihan yang buruk karena ada cukup banyak informasi tentang menyusun sistem buatan rumah, misalnya lihat ini .
tcrosley
Saya tahu spesifikasi ini akan membuat komputer masa lalu cemburu, tetapi saya pikir beberapa jenis retro ++ akan ideal (Para siswa lain akan menganggap apa pun di bawah 1GHz sebagai "retro" ...)
Anthony Teisseire
4
Dalam kelas mikrokontroler yang saya ambil, kami menggunakan Motorola 6800 ... cukup kompleks dengan semua mode pengalamatan yang berbeda sehingga membuat Atmel 8-bit dan PIC terlihat seperti mainan .. Tapi tidak begitu rumit sehingga Anda dapat membuat model mental dari hal itu tanpa kehilangan akal. Itu hanya tergantung pada bagaimana 'di balik tenda' yang ingin Anda dapatkan.
Daniel
Saya akan membangun sesuatu seperti ini. Lihatlah WDC 65C816 - ini adalah turunan CMOS 16 bit dari Yang Mulia 6502, dan hadir dalam paket DIP40.
Peter
7
Saya sangat tidak setuju dengan alasan untuk menutup pertanyaan ini. OP sedang mencari arsitektur komputer yang sesuai untuk digunakan bagi siswa sekolah, diberikan serangkaian kriteria. Saya merespons pertama dengan rekomendasi pada arsitektur yang sesuai, mungkin salah satu yang tidak dia sadari, dan ya, kemudian merekomendasikan chip tertentu karena tersedia dalam paket DIP ramah-siswa. Tetapi saya pikir jawaban saya yang agak komprehensif yang mencantumkan alasan rekomendasi saya akan berguna di masa depan bagi siapa pun yang mencoba membuat keputusan yang sama. Rekomendasikan ini dibuka kembali.
tcrosley

Jawaban:

6

Meskipun versi yang saat ini tersedia tidak memiliki bus alamat eksternal sejati (akan datang), Anda dapat mempertimbangkan Microchip PIC32 . Arsitekturnya didasarkan pada MIPS , yang berasal dari tahun 1988, dan merupakan salah satu dari dua set instruksi RISC utama (yang lainnya adalah ARM). Jadi dalam hal itu dapat dianggap retro. (Agak trivia: Sony Playstation menggunakan prosesor MIPS.)

Salah satu fitur bagus dari PIC32 (dan tidak biasa untuk mikrokontroler 32-bit) adalah Anda bisa mendapatkan beberapa varietas dalam paket DIP, namun memori maksimum yang tersedia akan terbatas dibandingkan dengan versi permukaan mount. Salah satu PIC dengan memori terbesar dalam paket DIP 28-pin adalah PIC32MX250F128 dengan 128KB memori Flash (program) dan RAM 32KB. Ini tersedia dari Digi-Key di AS , dan Farnell di Inggris .

Meskipun RAM mungkin tampak terbatas, perhatikan bahwa PIC adalah arsitektur Harvard , yang berarti ruang program dan alamat data terpisah, dan program dijalankan dari flash, sehingga Anda tidak perlu banyak RAM. (Untuk para puritan, PIC32s sebenarnya dimodifikasi-arsitektur Harvard, karena dimungkinkan untuk menjalankan program dari RAM.) Alternatif lain adalah Von Neumannarsitektur (digunakan, misalnya, dalam PC '), di mana ada satu ruang alamat untuk semua dan program biasanya kehabisan RAM, satu pengecualian adalah mereka biasanya harus memiliki setidaknya beberapa Flash atau ROM (disebut BIOS dalam PC) di ruang addrress prosesor untuk menjalankan rutin boot untuk memuat OS dari perangkat penyimpan massal atau jaringan ke dalam RAM. Z80 (dan sebagian besar mikroprosesor pada masanya) juga menggunakan arsitektur Von Neumann. Jadi seseorang harus memasukkan program dan data ke dalam 64 KB. Beberapa micros dengan arsitektur Von Neumann juga memetakan peripheralnya ke dalam ruang alamat 64K yang sama; yang lain menggunakan pengalamatan port terpisah.

Kembali ke bus eksternal, PIC32 saat ini (tetapi hanya dalam paket pemasangan di permukaan, karena jumlah pin) memiliki lebar "Parallel Master Port" (PMP) 8 atau 16-bit yang, ditambah dengan DMA, dapat mentransfer data bolak-balik secara otomatis antara RAM PIC dan RAM eksternal atau periferal. Namun ini tidak memungkinkan seseorang untuk mengakses memori eksternal secara langsung (di ruang alamat prosesor) atau menjalankan kode di sana. Keluarga PIC32MZ yang paling baru , terdaftar tetapi belum tersedia di Digi-Key, akan memiliki bus alamat eksternal sejati, hingga 2MB Flash, 1/2 MB RAM, dan berjalan pada 200 MHz.

PIC32MX250F128 berjalan pada 50 MHz, ada yang lain yang berjalan pada 80 MHz. Ini memiliki dua port UART serial; Anda akan memerlukan konverter level untuk menerjemahkannya ke sinyal RS232.

Karena itu dikemas sebagai DIP, dan dapat berjalan tanpa osilator eksternal, untuk memulai semua yang Anda butuhkan adalah catu daya 3.3.v, beberapa topi decoupling 0,1 μF dan papan tempat memotong roti. Anda bisa mendapatkan kompiler C dan IDE gratis dari Microchip.

Setelah Anda menjalankan dan menjalankan prosesor, Anda dapat menambahkan periferal seperti layar LCD, tombol (bahkan keyboard), dll.

Anda bisa mendapatkan PIC32MX lain dengan Flash hingga 512KB dan RAM 128KB, tetapi hanya dalam paket pemasangan di permukaan seperti TQFP dan VQFN yang mengharuskan Anda untuk menata PCB (Anda akan memiliki masalah yang sama dengan prosesor ARM juga).

tcrosley
sumber
Terima kasih banyak, ini sangat informatif dan PIC seperti itu akan benar-benar memenuhi kebutuhan kita. Kami akan menyesuaikan desain kami jika kami merasa perlu beralih ke paket VQFN atau keluarga PIC32MZ.
Anthony Teisseire
Saya tidak akan mengatakan bahwa itu adalah persyaratan CPU yang menggunakan arsitektur von Neumann untuk menjalankan program mereka dari RAM. Tentunya dimungkinkan untuk memiliki flash dan RAM di peta memori yang sama, sehingga memungkinkan Anda untuk menjalankan kode dari keduanya. CPU von Neumann hanya memiliki satu bus dan ruang alamat untuk instruksi dan data.
Jason R
@JasonR Saya tidak bermaksud menyiratkan program dalam arsitektur Von Neumann harus kehabisan RAM, sebenarnya mereka harus memiliki setidaknya beberapa Flash atau ROM (disebut BIOS di PC) untuk menjalankan boot rutin untuk memuat OS dari perangkat penyimpanan massal atau jaringan ke dalam RAM. (Tentu saja komputer yang sangat awal, termasuk PC awal seperti Altair 8800 , bahkan tidak memiliki ROM boot dan Anda harus beralih bootloader dengan menggunakan sakelar panel depan). Saya telah memperbarui jawaban saya.
tcrosley
3

Sementara saya secara luas setuju dengan @tcrosley, saya merasa berkewajiban untuk menunjukkan bahwa jika Anda benar - benar ingin menunjukkan kepada siswa lain bagaimana hal-hal bekerja "di belakang panggung" maka Anda harus mendapatkan papan FPGA (hanya membeli satu, jangan mencoba dan membuatnya ) dan pelajari cara membuat CPU dari awal menggunakan logika. Lihatlah ini sebagai titik awal yang baik.

markt
sumber
1

Sudahkah Anda mempertimbangkan seri MC68000?

Ini adalah 16/32 bit CPU kecuali 68008 jalur data adalah 16 bit beberapa dari mereka dapat berjalan di 50 MHz dengan mudah dan ruang alamat 16 MB.

  • Bus alamat eksternal jika kita membutuhkan lebih banyak RAM - ya dan hanya
  • > 50 MHz - bisa
  • 16 atau 32 bit - keduanya
  • Tidak ada paket BGA / QFN - ya
  • Tidak ada papan FPGA - tidak
  • Antarmuka serial (?) Tidak, Anda harus membuatnya tetapi sangat mudah
  • Tidak terlalu mahal karena kami memiliki anggaran terbatas - ya

Berikut ini dokumentasi lengkapnya: https://www.nxp.com/docs/en/reference-manual/MC68000UM.pdf

Jeremy Talus
sumber