Apakah ada Mikrokontroler dengan Ram 16MB?
Iya. Satu-satunya yang saya ketahui, adalah di keluarga SuperHes Renesas, dan tidak termasuk ROM - jadi Anda harus memiliki flash eksternal, tetapi memiliki 16MBytes SRAM onboard.
Saya mencari untuk menulis emulator untuk Sega Megadrive (Sega Genesis) yang berjalan pada AVR.
Tidak ada mikrokontroler SRAM 16MByte dalam keluarga Atmel AVR. Atau di mana saja di lini produk Atmel.
Namun, beberapa perangkat di jajaran Atmel AVR memiliki Antarmuka Bus Eksternal yang akan memungkinkan Anda untuk menghubungkan memori tambahan. Secara khusus, ATxmega128A1U dapat mendukung hingga 16MBytes SRAM eksternal.
Jadi saya telah mencari Micro-controller yang memiliki karakteristik yang mirip dengan Motorola 68k yang dikirimkan dengan MegaDrive.
...
Saya yakin SRAM modern hampir tidak sama dengan apa pun yang dimiliki 68k, tetapi apakah mungkin bagi saya untuk mendapatkan AVR mikro yang cocok dengan kekuatan 68k, apakah saya melihat masalah ini salah? Apakah saya perlu mengubah desain saya untuk mengakomodasi micros modern?
Saya tidak tahu apakah beberapa sumber memori eksternal akan cukup cepat.
Ah, ini masalahnya.
Prosesor 68k (yaitu, Motorola 68000) BUKAN mikrokontroler dan TIDAK memiliki SRAM internal 16MB.
Sementara prosesor 32 bit secara internal, karena keterbatasan pin itu hanya dapat menangani hingga 16MB memori eksternal, termasuk flash, sram, dan perangkat yang dipetakan memori.
Anda tidak memerlukan mikrokontroler dengan 16MB SRAM internal untuk meniru prosesor 68k.
Apakah ada mikrokontroler Atmel AVR 8-bit yang dapat meniru prosesor Motorolla 68000?
Aku pikir begitu. ATxmega128A1U memiliki bus memori eksternal sebesar bus prosesor 68k, dan memiliki banyak flash dan RAM yang memungkinkannya menjalankan versi mikrokode dari prosesor 68k.
Ini dapat berjalan hingga 32MHz, dan banyak instruksi mengambil satu siklus, tetapi bahkan kasus terburuk membutuhkan 5 siklus dalam memori internal. Antarmuka eksternal lebih lambat, tetapi jika Anda memilih memori cepat itu masih akan jauh lebih cepat daripada 68k.
Prosesor 68k tidak hanya berjalan 4 kali lebih lambat, tetapi operasi tercepat yang dibutuhkan setidaknya 4 siklus jam, dan banyak yang memakan waktu 2-4 kali lebih lama, terutama akses memori.
Jadi dengan SRAM yang bahkan lambat (menurut standar saat ini) (katakanlah, bagian 70nS 8MByte untuk di bawah $ 10) Anda dapat menggunakan status tunggu 0 pada prosesor 32MHz dan menjalankan lingkaran di sekitar 68k yang berjalan di 7MHz. Misalnya, instruksi langkah sederhana pada 68k yang akan mengambil 4 siklus pada 7,61 MHz membutuhkan 525 nS. Instruksi langkah sederhana yang serupa pada ATxmega128A1U yang berjalan pada 32MHz membutuhkan 31nS. Jadi AVR dapat melakukan 16 gerakan pada saat 68K dilakukan dengan satu. 68k membutuhkan 50 siklus untuk beberapa tipe interupsi, sementara AVR melompat ke interupsi dalam 3 siklus - sehingga AVR dapat menangani beberapa interupsi dalam waktu yang dibutuhkan 68k untuk hanya melompat menjadi satu.
Saya berharap Anda bisa menjalankannya dengan siklus akurat dengan upaya hati-hati jika Anda menerima beberapa jitter, meskipun Anda mungkin bisa membuatnya berjalan dengan sempurna siklus akurat tanpa jitter jika Anda teliti. Prosesor AVR berjalan dengan baik dengan overclocking moderat, sehingga Anda mungkin dapat menjalankannya pada 38,35MHz dan memiliki 5 siklus AVR per siklus clock 68k.
Ini bukan untuk mengatakan itu akan mudah, dan mungkin ada beberapa instruksi yang sangat rumit yang akan memakan waktu lebih lama pada AVR daripada yang lain - tetapi bahkan ini dapat dipertanggungjawabkan dengan desain yang cermat.
Bisakah saya meniru Sega Genesis dengan Atmel 8 bit AVR?
Tidak. The Sega Genesis memiliki, pada intinya, prosesor 68k, tetapi juga memiliki prosesor suara (Z80) dan prosesor video yang Anda perlukan sumber daya yang jauh lebih besar untuk ditiru. Pada diagram di bawah ini, Anda akan menemukan prosesor 68k di kiri atas - perhatikan bahwa itu adalah sebagian kecil dari semua yang diperlukan untuk meniru sistem Sega Genesis penuh.
Jadi, sementara Anda bisa dengan mudah meniru inti 68k dari Sega Genesis, Anda tidak akan dapat menjalankan game yang dibuat untuk Genesis hanya dengan satu mikrokontroler AVR. Meniru 68k sendirian pada satu chip akan cukup sulit - bahkan jika Anda menyederhanakan hal-hal saya ragu Anda bisa memasukkan ketiga prosesor ke dalam chip AVR 32MHz tunggal.
Namun, Anda mungkin bisa meniru kedua chip tersebut dengan dua AVR lagi. Jika Anda menargetkan LCD grafis sederhana yang tidak memerlukan pengaturan waktu dan generasi NTSC yang aneh, Anda mungkin dapat menyederhanakan hal-hal sedikit, dan mungkin bahkan dapat menempatkan kedua fungsi ke dalam satu chip terpisah.
Ini adalah proyek besar, tentu saja, bukan proyek akhir pekan. Jika Anda berada pada tahap di mana Anda hanya merasa nyaman dengan papan pengembangan Arduino, maka mungkin menarik untuk membuat emulator prosesor 68k sederhana dan menghubungkan sedikit ROM eksternal dan RAM untuk akses memori. Arduino ATMega tidak memiliki antarmuka memori eksternal, tetapi Anda dapat mengubah jalur I / O dan mengemulasi itu juga. Jika Anda cukup jauh dalam proyek di mana Anda dapat meniru program 68k sederhana, maka mungkin layak membuang arduino, menggunakan lingkungan pengembangan Atmel, dan chip AVR yang lebih baik dengan antarmuka bus eksternal, dan Anda dapat mulai membaca dan mengeksekusi kartrid. Anda bahkan mungkin dapat menyalurkan data video dan suara ke komputer dan menafsirkannya dalam pemrosesan - itu '
Pastikan rutinitas emulasi Anda portabel dan Anda dapat dengan mudah beralih ke prosesor yang lebih baik sehingga Anda tidak akan terjebak.
Jika proyek Arduino Mega yang sederhana tidak pernah berjalan terlalu jauh, Anda belum membuang banyak sumber daya untuk proyek ini. Jika Anda merasa terdorong untuk menyelesaikannya, pindah ke chip Atmel yang lebih mampu tidak akan terlalu berlebihan.
Saya katakan mencobanya. Beberapa dari apa yang saya katakan dan yang lain katakan mungkin tampak seperti ini tidak dapat diatasi, tetapi jangan biarkan kami menghalangi jalan Anda. Terus ajukan pertanyaan setiap kali Anda mengalami hambatan dan Anda akan menemukan bahwa sebagian besar insinyur menikmati tantangan dan akan memberi Anda pemahaman dan bantuan yang Anda butuhkan untuk menempuh jalan ini.
Emulasi sangat menyenangkan.