16MB ramli mikrokreditlagich bormi?

Mana mening holatim:

Shaxsiy loyiha sifatida men AVRda ishlaydigan Sega Megadrive (Sega Genesis) uchun emulyator yozishni qidiraman. Shunday qilib, MegaDrive bilan birga kelgan Motorola 68k uchun o'xshash xususiyatlarga ega bo'lgan mikro-nazorat qurilmasini izlayapman. Shunga qaramasdan, men 68kga xos xususiyatlarni eng qiziqarli mikroskalar bilan taqqoslaganman. Men ARRga qaramasdan AVRni tanlayman, chunki menga arxitekturani yaxshi ko'raman va bu juda yaxshi masala.

M68K:
32-bit CPU
16-bit data bus
Up to 20 MHz
16 MB RAM
No I/O ports

Arduino Leonardoning o'ziga xos xususiyatlari:

Input Voltage (recommended) 7-12V
Input Voltage (limits)  6-20V
Digital I/O Pins    20
PWM Channels    7
Analog Input Channels   12
DC Current per I/O Pin  40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory    32 KB (ATmega32u4) of which 4 KB used by bootloader
SRAM    2.5 KB (ATmega32u4)
EEPROM  1 KB (ATmega32u4)
Clock Speed 16 MHz
Length  68.6 mm
Width   53.3 mm
Weight  20g

Bu pastki oxirgi zamonaviy mikroslar uchun odatiy ko'rinadi. Men qo'riqchining mblarga juda ko'p tushishini ko'rmayman.

Hozirgi vaqtda zamonaviy SRAM 68 koeffitsiyasiga qaraganda deyarli bir xil emas, ammo bu 68k kuchiga mos keladigan AVR mikrochasini olishim mumkinmi, bu muammoga noto'g'ri qarab qoldimmi? Zamonaviy mikrosklar uchun dizaynimni o'zgartirish kerakmi?

Ba'zi tashqi xotira manbai tezkor bo'lishi kerakligini bilmayman.

7
@ConnorWolf: Dmitriy Grinberg'ning siz bilan bog'langan AVR uchun ARM emulatori ajoyib va ​​dolzarb. Intel PXA255, ARM protsessorini ishlab chiqaradi. Har bir kishi AVR uchun x86 emulatorini yozganmi?
qo'shib qo'ydi muallif Jeremy Ruten, manba
@baordog Javob berishda ko'rsatgan 8 Mb tashqi RAM bilan birlashtirilgan kabi AVR32 yaxshi ishlaydi va ehtimol videoni boshqarishda etarlicha tez bo'lishi kerak. Men faqat Raspberry Pi ni yoqtirmoqdaman, chunki kompozitsion va HDMI video va tovushlarni bajarish uchun platada apparat bor. Har ikki holda ham, AVR32 va ARMdagi 32-bitli ro'yxatlar 68000 ning 32-bitli ro'yxatlari uchun yaxshiroq mos tushadi va 32 bitli operatsiyalar o'rniga to'rt 8-bitli operatsiyalarda CPU bilan bog'liq barcha funktsiyalarni bajarishdan qochadi. bit ishlashi.
qo'shib qo'ydi muallif Matt McMinn, manba
@ConnorWolf Ko'p kuzatishlaringiz bilan roziman. Men 700 MGts Raspberry Pi dan foydalanishni taklif qilmoqchi edim (bu menimcha ajoyib ish bo'lishi mumkin), ammo OP OPVni ishlatishni talab qiladi. 84 MGts da ishlaydigan 32-bitli AVR topdim, u i faqat agar u imo-ishora tilida assembly tilida gapirsa va barcha to'xtash nuqtalarini chiqarib yuborsa. (Emulatorlarning 10 soniyagacha tezroq CPU talab qilishlari odatiy hol emas). U boshqa barcha narsalarni Yaratilish kitobida ham aks ettirishi kerak. Umid qilamanki, protsessor uchun chizmalar va xotira xaritasi mavjud.
qo'shib qo'ydi muallif Matt McMinn, manba
@ConnorWolf Atmmel ularni AVR32 emas, balki oddiy AVR deb ataydi. O'ylaymanki, Microchip bilan bir xil narsa, PIC32 hali ham Pic emasmi? (Mening fikrimcha, ha, lekin bu mening fikrim.)
qo'shib qo'ydi muallif Matt McMinn, manba
@davidcary - Axir, bu ARM, x86 emas. Derp. Yaxshi fikr.
qo'shib qo'ydi muallif Connor Wolf, manba
@baordog - Menimcha, bu savol "Nima uchun siz AVR-ga joylashtirdingiz"? Agar siz AVR protsessorini yoqtirmoqchi bo'lsangiz, asosan xohlagan variantingiz yo'q. Agar siz faqat AVR nomini xohlasangiz, AVR32 katta, qudratli bo'lasiz deb o'ylab, xohlagan narsangiz uchun yaxshi bo'ladi.
qo'shib qo'ydi muallif Connor Wolf, manba
@baordog - MMU va har bir narsaga ega Linuxni boshqarish uchun etarlicha katta bo'lgan AVR32 mikrokontrolratorlari mavjud. Bundan tashqari, hech qanday AVR emas, keyinchalik marketing nomlanishi. AVR32 qismlari asosan Atmil tomonidan ishlab chiqarilgan MIPS MCU'lardir.
qo'shib qo'ydi muallif Connor Wolf, manba
@tcrosley - AVR32 protsessorlari aslida "AVR" emas, deb hisoblayman, chunki ular endi AVR protsessor yadroidan foydalanmaydi. Bu shunchaki marka. Ko'pincha, men ko'rsatmoqchi bo'lgan narsa, AVR CPU yadro chegarasi bu loyihani asosan mumkin emasligini anglatadi.
qo'shib qo'ydi muallif Connor Wolf, manba
@duskwuff - Men kodni/ma'lumotni ajratish masalasini hatto tasavvur ham qilmadim, siz butunlay haqsan.
qo'shib qo'ydi muallif Connor Wolf, manba
Masalan, tashqi, dasturiy ta'minot xotirasi uchun "sekin" deb aytganda nimani nazarda tutsam, bu yerda - tashqi xotira SIMM bilan AVR uchun x86 emulatorini yozgan odam. Emulyatsiya qilingan protsessor taxminan 6.5 KILOtherz (24 megahertzli (overclocked) tayanchli soat) bilan ishlaydi va oddiy bash-so'rovni bajarish uchun 2 soat davom etadi.
qo'shib qo'ydi muallif Connor Wolf, manba
Shubhasiz, birinchi navbatda emulyatorni avval ko'chirib olishingiz kerak. Ideal holda portativ. So'ngra ARMga portlashni ko'rib chiqing va keyin sizning ARM MCU kerakli ishlash uchun ba'zi raqamlarga ega bo'lgandan so'ng, Ochig'i, siz ishongan, to'g'ri va ishonchli emoulatistlarning qanchalik hayratlanarli ekanligini tushunmaysiz. Hatto oddiy oddiy konsollarni to'g'ri modellash va uyg'otish chindan ham juda qiyin, chunki ularning hech biri to'liq raqamli emas, ularning hammasi ham ko'plab analog quirlarga ega.
qo'shib qo'ydi muallif Connor Wolf, manba
ixtiyoriy ehtimolliklar ( dinamik qayta tiklanish ) keladi ishlash muammolari bilan birgalikda, lekin ular, albatta, juda murakkab va siz o'zingizning loyihangizning ko'p qismini maxsus transpilerni ishlatishni xohlamaysiz (va AVRda mos optimallashtiruvchi kompilyatorni ochiqchasiga amalga oshirish da , ehtimol, sekinlashishi ehtimoldan yiroq emas).
qo'shib qo'ydi muallif Connor Wolf, manba
Shunday qilib, siz real vaqtda (masalan o'ynash mumkin) emulyatsiya qilishni xohlayotganingizni taxmin qilsangiz, nima qilishni xohlayotganingiz AVRda umuman mumkin emas. Agar siz juda yaxshi bo'lsa, juda sekin (100X sekin, keyin real vaqtda), siz AVR-da dasturiy ta'minotlar bilan tashqi SRAM bilan buni amalga oshirishingiz mumkin, lekin men buni siz nima qilishga harakat qilayotganingizdan shubhalanaman.
qo'shib qo'ydi muallif Connor Wolf, manba
Bundan tashqari, siz emulyatsiyani to'liq yo'qotib yubordingiz . SNESni (21 MGts protsessordan foydalanadigan) yaxshi ko'ruvchi to'g'ri ravishda ( href = "http://arstechnica.com/gaming" ga qarang) talab qiladi./2011/08/aniqligi-kuch-bir-mans-3ghz-quest-to-build-a-perfect-snes-emulator/1/"rel =" nofollow noreferrer "> bu erda ). 7.6 MGts va 3.58 MGs protsessorni ishlatadigan Megadrive/genesisini taqlid qilish uchun minimal da 100+ MGts uy egasi qurilmasi talab qilinadi.
qo'shib qo'ydi muallif Connor Wolf, manba
AVR 16-bitli xotira manzilli avtobusga ega. Keyinchalik 64KBaytdan ko'proq xotiraga kirishga qodir emas. Siz mumkin xotira xotirasi kabi dasturiy ta'minotlarni ortishi mumkin, lekin AVR arxitekturasi aslida 8 Mbayt xotiraga, davrga murojaat qilolmaydi.
qo'shib qo'ydi muallif Connor Wolf, manba
Ilovalar protsessoridan yoki FPGA dan foydalaning.
qo'shib qo'ydi muallif AgeOfTheGeek, manba
@ConnorWolf Eslatma: AVR da dinamik qayta tiklashni amalga oshirish umuman mumkin emas, chunki siz ma'lumotlar xotirasidan kodni ishlata olmaysiz. (Dasturni xotiraga saqlashingiz mumkin, lekin bu asta-sekin va fleshkalarni o'chiradi!)
qo'shib qo'ydi muallif BrainSlugs83, manba
@ConnorWolf - Shunday qilib, Garvard me'morchiligi qiziqarli emasmi? Men bu erda qaerga borayotganingizni ko'ra olaman.
qo'shib qo'ydi muallif Steven Wood, manba
@tcrosley AVR32 da hali ham mumkin emasmi?
qo'shib qo'ydi muallif Steven Wood, manba
Vay, bu ajoyib fikrlar. Avstriyani avtomat tarzda transpile qilish va uy egasi chipidagi tarjima bosqichidan qochish yo'lini topish yaxshiroqdir. Ehtimol, agar men og'ir vazndagi ba'zi bir yuklarni birma-bir eksport qilsam, buning imkoni bormi? Buning natijasi, aslida menga avrni tortib olish uchun jalb qilingan narsadir.
qo'shib qo'ydi muallif Steven Wood, manba
Ilovalar paneli bilan tanish emas
qo'shib qo'ydi muallif Steven Wood, manba
Hmm, men yomon 68k funktsiyasidan ketayotganimga o'xshaydi.
qo'shib qo'ydi muallif Steven Wood, manba

6 javoblar

Motorola 68000 va Sega Genesis juda eski (1980 yil boshlarida) bo'lsa-da, butun o'yin mashinasini taqlid qiladigan past-oxir (ya'ni 8 bit) AVRni topa olmaysiz.

Sega Genesis 7,61 MGts da harakat qildi va 72KB RAMga ega bo'ldi (va qo'shimcha 64KB video RAM). Biroq, o'yin dasturlari ROMda joylashtirilgan, shuning uchun siz ularni ushlab turish uchun qo'shimcha RAMga ehtiyoj sezasiz (asl kartuşlarni qandaydir tarzda ulashni mo'ljallamasangiz). Aksariyat o'yin kartalari 4 MBdan kam bo'lgan, lekin 8 MB ROMga ega bo'lgan kamida bitta o'yin (Pier Solar, 2010-yilda chop etilgan) mavjud.

Bundan tashqari, tizim, albatta, bir turdagi ijrochi sifatida ishlaydigan va shuningdek, lentalari uchun umumiy I/U kutubxonasini taqdim etgan tizim ROM ni kiritishi kerak edi (bu qanchalik katta ekanligi haqida hech qanday ma'lumot topa olmadim). Buning uchun siz ROM (yoki ROM tasvirlari) ni topishingiz va ularni RAM-ga ko'chirishingiz kerak (yoki tizimingizga ROMning bo'limini qo'shing).

IMO siz 32-bitlik microcontrollerdan foydalanishni xohlaysiz. Agar asl lentalari va dastur ROMni ishlatmoqchi bo'lsangiz va siz MB-ning RAMiga ehtiyoj sezmaydigan bo'lsangiz, sizda emulyatoringiz uchun etarli joyga ega bo'lgan 32-bitli har qanday microcontrollerdan foydalanishingiz mumkin. Agar lentalari va tizim ROM tasvirini RAMga tushiradigan bo'lsangiz, u holda 8 MB yoki undan ko'p RAMni olish uchun siz tashqi xotira avtotuzariga ega bo'lgan mikrokontrolrere kerak bo'ladi (siz 8 Mb ni ocholmaysiz). mikrokontrolör bilan bir xil chip).

AVR bilan yopishmoqchi ekanligingizni hisobga olgan holda, men AT32UC3A3256 kabi protsessorni taklif qilaman 256 KB Flash, 128 MB RAM va 84 MGts da ishlaydi. Gap shundaki, u 144 pinli sirtni o'rnatish qurilmasi bo'lib, u lehim bilan ishlaydi.

However, there is an evaluation kit for this processor from Element 14 for only $31.25. So you don't have to worry about soldering. Plus, the board has 8 MB of external RAM, so you can load a cartridge into RAM.

enter image description here

Just for the record, I still think you should consider the Raspberry Pi, running at 700 MHz with 512 MB of RAM for slightly less than the cost of development board above. Running at that speed, you would have no issues with emulating the 68000 code and performing I/O at the correct speed.

Agar siz AVR yoki Raspberry Pi marshrutiga borsangiz, 68000 ga qo'shimcha Sega Genesis shuningdek, Zilog Z80 va Yamaha YM2612 va Texas Instruments SN76489A kabi bir nechta maxsus fişlarni ham o'z ichiga oladi. Z80 ovozni nazorat qilish va oldingi Sega Magistr tizimi bilan oldingi muvofiqlikni ta'minlash uchun ishlatilgan. Yamaha chipi FM sintezatori va TI chipi dasturlashtiriladigan tovush generatori bo'lgan (bu mashina juda ko'p ovozli variantga ega edi). Bundan tashqari, Virtual Display Processor (VDP) ham bor edi. Ehtimol, ovozni o'chirib qo'yishingiz mumkin (bu Z80 yoki Yamaha yoki TI chipslari haqida xavotirlanishga hojat yo'q degan ma'noni anglatmaydi), lekin grafik qurilmani taqlid qilishingiz kerak bo'ladi.

Bir necha manbalar:

EASy68K -- Editor/Assembler/Simulator for the 68000. Open source so you should be able to dig out the 68K simulation code

Cyclone 68000 -- emulator for the 68000 microprocessor, written in ARM 32-bit assembly. Only useful if you decide to use the Raspberry Pi

Va nihoyat, agar siz 68000 buyruqlar to'plamiga hali tanish bo'lmagan bo'lsangiz, mutaxassis bo'lish uchun haftalarni (yoki undan ko'p) sarflashni rejalashtirish. Disk raskadrovka juda ko'p emulyator darajasida pastga tushib, nima uchun kartricda 68000 kodning bir qismini to'g'ri ishlamayotganligini tushunishga urinib ko'radi. (Boshqacha qilib aytganda, siz kartridj kodida virtual chiqish nuqtasini o'rnatishingiz mumkin). Siz shuningdek, parollarni o'chirishingiz kerak bo'ladi, shuning uchun siz mashina kodi bilan ishlashingizga to'g'ri kelmaydi; Bu erda bir manba uchun .

18
qo'shib qo'ydi
@baordog Javobini yana bir bor o'zgartirdim - 31 dollar uchun 8 MB tashqi xotirani o'z ichiga olgan 32-bit AVR bilan ishlab chiqarish kartasini topdim.
qo'shib qo'ydi muallif Matt McMinn, manba
@duskwuff U bundan kamroq narsaga ega bo'lolmaydi va AVR protsessorlari Atmmel tomonidan amalga oshiriladi.
qo'shib qo'ydi muallif Matt McMinn, manba
@baordog Javobni ikki tavsiya etilgan AVR chips bilan yangiladim.
qo'shib qo'ydi muallif Matt McMinn, manba
Eslatib o'tamiz, ikkita protsessor ham AVR32 qismidir. Ular OTning AVR arxitektura qismlaridan deyarli butunlay farq qiladi, ular ikkalasi ham Atmil tomonidan ishlab chiqarilgan.
qo'shib qo'ydi muallif BrainSlugs83, manba
Men bunga rozi bo'ldim, lekin o'zimni avr bilan cheklashni xohlayman.
qo'shib qo'ydi muallif Steven Wood, manba

Bu sodir bo'lmaydi.

Tashqi xotirani qo'llab-quvvatlaydigan ATmega chizig'idagi eng katta mikrokontrolör ATmega1284, lekin bu faqat 8 KB ichki SRAMga ega va 64 MB tashqi xotiraga murojaat qilishi mumkin. Bu 72 Kb RAM va 64 Kb video xotira bo'lgan GENESİSga taqlid qilish uchun kifoya qilmaydi. Bankni almashtirish orqali qo'shimcha xotiraga kirishni amalga oshirish mumkin, ammo bu AVR dan xotiraga juda qimmatga tushadi.

ATmega liniyasida ATmega1284 (16 KB) kabi ichki SRAM bilan ba'zi qismlar mavjud, ammo ular tashqi xotirani umuman qo'llab-quvvatlamaydi. Uzoq umr, qisqacha, ATMEGA'dan 64 kilobaytdan ortiq RAMga murojaat qilish juda qiyin.

(16 MB hajmdagi qaerdan olganligingizga ishonchim komil emas) 68000 ning ichki xotirasi, registrlardan tashqari, 68000 tizimidagi xotira miqdori sezilarli darajada farq qilishi mumkin.

Bundan tashqari, Ibtidurda 68000 protsessor 7,6 MGts da ishlaydi. Buni 16 MGts AVRda eslatish mumkin emas - AVRning soat tezligi biroz balandroq bo'lsa-da, 68000 32 bitli protsessor bo'lib, uning yo'riqnomalaridan biri odatda ko'p narsalarni talab qiladi. AVR. (Hatto oddiy qo'shimchani bir necha o'nlab ko'rsatmalar talab qilishi mumkin.)

Agar siz Ibtidodni taqlid qilishni istasangiz, men sizni ARM mikrokontrolcileriga qarashni maslahat beraman.

12
qo'shib qo'ydi
@IsmaelMiguel yordam bermaydi. AVR hali ham juda sekin va 68000 ni taqlid qilish uchun etarli xotira yo'q va pervanelda video chipini taqlid qilish uchun etarli xotira yo'q.
qo'shib qo'ydi muallif BrainSlugs83, manba
@BruceAbbott Mening javobimda ta'kidlash joizki, AVR faqat bitta 8-bitli registrda (yoki ba'zan juftlikda) ishlashi mumkin, bu buyruqlar sonini keskin darajada pasaytiradi - buyruqlar yuki, kodni dekod etish va boshqalarni eslatmaydi. ATmega1284 biroz ko'proq SRAM, lekin tashqi xotirani qo'llab-quvvatlamaydi, shuning uchun u bu erda ishlatilmaydi. Bu mezonni aks ettirish uchun javobimni yangiladim.
qo'shib qo'ydi muallif BrainSlugs83, manba
@IsmaelMiguel No. Hech qaerda yetarlicha RAM yaqinida (32 KB va kod shug'ullanadi) va g'alati Pervane me'morchiligi emulyatsiya uchun mos emas.
qo'shib qo'ydi muallif BrainSlugs83, manba
Bu uyat. Hali ham qiziqarli bo'ladi.
qo'shib qo'ydi muallif user62486, manba
@duskwuff Bu mantiqiy. Unda kuchli ishlaydigan biror narsani ko'rish qiziq. Produktorni chiqishi va chiqishi va qayta ishlov berish uchun Arduinodan foydalanish haqida nima deyish mumkin?
qo'shib qo'ydi muallif user62486, manba
Agar Parallax mikro-kontrolörü shu kabi vazifani bajarishga qodir bo'larmidi? Bu 32-bit, biroz ko'proq RAM bo'lishi mumkin va ular juda tezroq! Ular VGA chiqishi uchun juda yaxshi.
qo'shib qo'ydi muallif user62486, manba
Bir nechta kichkina nitpicks: - 68000 har bir narsani bajarish uchun kamida 4 soatni oladi (va ko'pchilik ko'rsatmalar 8 soat yoki ko'proq vaqtni oladi), 16 MGts da ishlaydigan AVR ~ 9 barobar tezroq (hali 7.16MHz 68000 haqiqiy vaqt bo'lsa ham). Bundan tashqari, eng katta ATmega 1284 - 16k RAM, 128K ROMga ega va 20MHzda ishlaydi.
qo'shib qo'ydi muallif Bruce Abbott, manba

16MB ramli mikrokreditlagich bormi?

Ha. Men Renesas SuperH oilasida ekanligimdan xabardor bo'lgan yagona va ROMni o'z ichiga olmaydi, shuning uchun siz tashqi fleshga ega bo'lishingiz kerak, ammo 16 Mbaytli SRAM mavjud.

Men AVRda ishlaydigan Sega Megadrive (Sega Genesis) uchun emulyator yozishni qidiraman.

Atmel AVR oilasida 16MByte SRAM mikroprosessor yo'q. Yoki Atmel mahsulotining har qanday joyida.

Biroq, Atmel AVR tarmog'idagi bir nechta qurilmalar tashqi xotira qurilmasiga ulanish imkonini beradi. Xususan, ATxmega128A1U 16MB tashqi SRAM-ni qo'llab-quvvatlaydi.

Shuning uchun men MegaDrive bilan birga keladigan Motorola 68k ga o'xshash xususiyatlarga ega bo'lgan mikro-nazorat qurilmasini izlayapman.

...

Zamonaviy SRAM 68 koeffitsiyasiga qaraganda deyarli teng emasligiga aminman, lekin bu 68k kuchiga mos keladigan AVR mikrochasini olishim mumkinmi, bu muammoga noto'g'ri qarab qoldimmi? Zamonaviy mikrosni moslashtirish uchun dizaynimni o'zgartirish kerakmi?

     

Ba'zi tashqi xotira manbai tezkor bo'lishi mumkinligini bilmayman.

Mana, sizda muammo bor.

68k protsessor (ya'ni, Motorola 68000) bir mikrokontrolir emas va ichki SRAM 16MBaytga ega emas.

Protsessor ichki xotirada 32 bit bo'lsa-da, pin cheklovlari tufayli faqat flesh-xotira, sram va har qanday xotira bilan bog'langan qurilmalar kabi 16MBaytgacha bo'lgan tashqi xotiraga murojaat qilish mumkin.

68k protsessorni taqlid qilish uchun 16MB ichki SRAM bilan mikroprotsessor kerak emas.

Motorolla 68000 protsessori bilan taqqoslanadigan Atmel AVR 8-bitli microcontroller bormi?

Shunday deb o'ylayman. ATxmega128A1U 68k protsessorning avtobusiga o'xshash tashqi xotira avtobusiga ega va 68k protsessorning mikrokod versiyasini ishlatish imkonini beradigan ko'p miqdorda flesh va RAMga ega.

32MHzgacha ishlashi mumkin, va ko'plab yo'riqnomalar bitta tsiklni oladi, ammo eng yomon holatda ham ichki xotirada 5 tsikl bor. Tashqi interfeys asta-sekin, ammo tez xotirani tanlasangiz, u 68k dan ancha tezroq bo'ladi.

68k protsessor nafaqat 4 baravar sekin ishlaydi, lekin eng tezkor operatsiyalar kamida 4 soat tsiklini oladi va ko'pchiligi 2-4 marta ko'proq, ayniqsa, xotiradan foydalanadi.

Shunday qilib, SRAM (aytaylik, 10 megabayt uchun 70nS 8MBayt qismi) hatto 32MHz protsessorda kutish holatini ishlatishi va 7MHz tezlikda ishlaydigan 68k atrofida ishlaydigan doiralarni ishlatishi mumkin. Misol uchun, 7,61 MGts da 4 tsikli oladigan 68k hajmidagi oddiy ko'chirish ko'rsatmasi 525 nSni tashkil qiladi. 32MHz-da ishlaydigan ATxmega128A1U-da o'xshash oddiy harakat ko'rsatmalari 31nSni tashkil qiladi. Shunday qilib, AVR 16 ta harakatni bajarishi mumkin. AVR 3 tsikldagi interruptga o'tadi, shuning uchun AVR 68 koeffitsiyani oddiygina biriga o'tish vaqtida bir necha hodisalarni bajarishi mumkin.

Agar siz jiddiy harakat qilsangiz, uni aylanish jarayonini to'g'ri bajarishingiz mumkin. Agar siz jiddiy bo'lsangiz, unda siz jiddiy harakat qila olasiz. AVR protsessorlari mo''tadil overclocking bilan yaxshi ishlaydi, shuning uchun uni ehtimol 38.35MHzda ishlating va 68k soat tsikli boshiga 5 AVR tsikliga ega bo'lasiz.

Bu oson bo'lishi mumkin emas, demak, AVR da boshqa usuldan ko'ra uzoqroq davom etishi mumkin bo'lgan bir nechta juda murakkab yo'riqnomalar bo'lishi mumkin, ammo bunga hatto ehtiyotkorlik bilan ham e'tibor berilishi mumkin.

Atmal 8 bitli AVR bilan Sega Genesis-ni taqlid qila olamanmi?

Yo'q. Sega Genesis o'zining yuragida 68k protsessorga ega, lekin u ham ovozli protsessor (Z80) va video-protsessorga ega, u siz uchun juda ko'p manbalarni taqlid qiladi. Quyidagi diagrammada yuqoridagi chapdagi yozuvdagi 68k protsessorni Sega Genesis tizimini takrorlash uchun kerak bo'lgan hamma narsaning kichik bir qismini topasiz.

enter image description here

Shunday qilib Sega Genesis dasturining 68k yadrosini osonlik bilan taqlid qilishingiz mumkin bo'lganida, siz faqat bitta AVR mikrokontrolder bilan GENESİSga mo'ljallangan o'yinlar ishlata olmaysiz. Agar bitta chip ustida 68k ishtiyoq bilan ishlaydigan bo'lsak, unda uchta protsessorning 32 MGtsli AVR chipiga mos kelishiga ishonchim komil.

Ammo, ehtimol, ushbu ikki chipni yana ikkita AVR bilan taqlid qilishingiz mumkin. Agar g'alati NTSC vaqtlari va avlodlar talab qilmaydigan oddiy grafikli LCDni aniqlasangiz, narsalarni biroz soddalashtirishi mumkin va hatto ikkala vazifani alohida chipga qo'yish ham mumkin.

Bu katta loyihadir, ammo, albatta, bir hafta oxiri loyihasi emas. Agar siz Arduino rivojlanish taxtasi bilan faqatgina qulay bo'lgan sahningizda bo'lsangiz, unda oddiy 68k protsessorli emulatorni yaratish va xotiraga kirish uchun biroz tashqi ROM va RAMni ulash qiziqarli bo'lishi mumkin. Arduino ATMega tashqi xotira interfeysiga ega emas, lekin siz I/U chiziqlarini qaytarishingiz va bunga o'xshashligini his etishingiz mumkin. Loyihada oddiy 68k dasturlarni taqlid qilishingiz mumkin bo'lsa, unda Atmele rivojlanish muhiti va tashqi avtobus interfeysi bilan yaxshiroq AVR chipini ishlatib, arduino tushirishga arziydi va o'qish va ijro etishni boshlashingiz mumkin. kartuşlar. Siz hatto kompyuterga video va tovush ma'lumotlarini uzatishingiz va ularni ishlash jarayonida sharhlay olishingiz mumkin - bu juda sekin (Arduino Mega faqat 16MHz), ammo u sizga kamida sizning miqdoringiz haqida yaxshi fikr beradi. to'liq tezlikni emulyatsiyaga ega bo'lishingiz kerak bo'lgan ishni bajarishingiz kerak va siz VDP va ovoz protsessorlarini taqlid qilish uchun qancha harakat qilish kerakligini o'ylab ko'rishingiz mumkin.

Sizning emulyatsiya tartib-qoidalaringiz ko'chma ekanligiga ishonch hosil qiling va sizga yaxshi ishlov beruvchiga osonlik bilan yopilmasligingiz uchun osonlik bilan o'tishingiz mumkin.

Agar oddiy Arduino Mega loyihasi juda uzoqqa tushmasa, ushbu loyihada ko'plab resurslarni sarflamaysiz. Agar uni o'zingizning ishingiz bilan yakunlash uchun qidirsangiz, ko'proq qobiliyatli Atmele chipiga o'ting, u qadar qiyin bo'lmaydi.

Aytmoqchiman, buni sinab ko'ring. Ba'zilar aytganlarim va boshqalar aytganidek, bu qiyinchilik tug'diradi, lekin bizni yo'ldan urmasin. Bir to'siqqa duch kelganingizda savollar berib turing va eng muhandislarning qiyinchiliklarga duch kelayotganini bilib olasiz va siz bu yo'ldan borishingiz kerak bo'lgan tushunishni va yordamni berasiz.

Emulyatsiya juda kulgili.

11
qo'shib qo'ydi
@bordog Bilmadim. Ovozli protsessor Z80 protsessori. Men video protsessorga qarammadim. Siz nima qilish kerakligini aniqlash uchun qo'shimcha tadqiqotlar qilishingiz kerak - video protsessor o'z xotirasiga ega, biroq u murakkab PAL yoki NTSC signallarini ishlab chiqaradi. Agar siz grafik chastotali displeyni birlashtirmoqchi bo'lsangiz, video protsessorning ko'p murakkabligi yo'qolishi mumkin, lekin yana qanday murakkab ekanligiga amin emasman. Ishonchim komilki, siz buni FPGAda bajarishingiz mumkin, lekin siz microcontrollersni tanlashingiz kerak emas.
qo'shib qo'ydi muallif Federico Builes, manba
@davidcary uni Digikeyda topdi, lekin uni "Renesas" saytida ham ko'rmaydi. R8J73540BGZV - digikey.com/product-search/…
qo'shib qo'ydi muallif Federico Builes, manba
Agar men SuperH mahsulot tanlovi ni o'qiyotgan bo'lsam, SuperH protsessori eng RAM - bu Renesas SuperH R5S72680W266FP, deyarli 3 MB RAM bilan ajralib turadi. "16 Mbaytlik SRAM" protsessori mavjudmi? Men buni ko'rmayapman. Ushbu javobning har bir qismi ajoyib ko'rinadi.
qo'shib qo'ydi muallif Jeremy Ruten, manba
O'ylaymanki, emulyatorni yozishdagi qiyinchiliklar ADD.L (A0) +, D3 kabi 68000 ta ko'rsatma bilan ishlaydi. Endi ATxmega128A1U X, Y yoki Z registrlari bilan o'xshash manzil formatiga ega. Albatta, bu 16-bit, lekin sega faqatgina 72 kilobaytlik RAMdan foydalangan, shuning uchun qo'shimcha 8 kilobaytdan foydalanilganiga qarab ishlashi mumkin. Muammo AVR ning uchta manzili registrga ega bo'lgani uchun va 68000 sakkiztasi mavjud. Xullas, birovning A0 yozuvi X, Y yoki Zga yuklanmagan. Shuning uchun narsalarni aralashtirish kerak. Bitta manzillar registrida SPga bag'ishlangan bo'lishi kerak.
qo'shib qo'ydi muallif Matt McMinn, manba
FPGA yondashuvi muvaffaqiyatli bajarildi: code.google.com/p/fpgagen
qo'shib qo'ydi muallif jns, manba
Sizningcha, video/audio protsessorlarni FPGA bilan taqlid qilish osonmi?
qo'shib qo'ydi muallif Steven Wood, manba

Boshqa javoblarning hech biri m86k ko'rsatmalarini asl nusxada ishlaydigan bir chip olishingiz mumkinligini qayd etgan: Coldfire seriyali. Bir qator ko'rsatmalar olib tashlandi; agar ular juda tez ishlatilmasa, ular "noto'g'ri yo'riqnoma" ni kesib tashlash yo'li bilan taklitlanishi mumkin.

Shunga qaramay, siz Yamaha YM7101 video protessori va Yamaha YM2612 ovoz protsessorini taqlid qilishingiz kerak. Siz dasturiy ta'minotni emulyatsiya qilishni tezroq DSPda yaratishga yoki ularni FPGA versiyasini yaratishga urinib ko'rishingiz mumkin. Ehtimol, Megadrive-ning mavjud FPGA emulalari asosida.

6
qo'shib qo'ydi

Siz STMF432 kartasidan CORTEX-M4 dan foydalanishingiz mumkin ... juda ko'p RAM va tashqi qurilmalar

enter image description here

3
qo'shib qo'ydi
RAMning 256 KB «juda ko'p qo'chqor qo'zichoq» bo'lgan vaqtdan boshlab?
qo'shib qo'ydi muallif Nick Alexeev, manba
Va har qanday holatda, OP juda aniq edi, ular ARM emas, balki AVR mikrokontrolrini ishlatmoqchi bo'lishdi.
qo'shib qo'ydi muallif BrainSlugs83, manba

16MB ramli mikrokreditlagich bormi?

Ishonchim komilki, 16 MB of-protsessorli protsessor mavjud emas.

68000 ning ba'zi tavsiflarida aytib o'tilgan "16 MB RAM" 24-bitli tashqi manzilli avtobusga ishora qiladi, nazariy jihatdan, eng ko'p 2 ^ 24 bayt = 16 MB tashqi RAM manziliga murojaat qiling. Menimcha, 68000 dan foydalanadigan tizimlarning aksariyati 16 Mb tashqi RAM dan kamroq ulang.

Xususan Sega Mega Drive (Sega Genesis) bor 72kB RAM va 64 kB video RAM mavjud. Bu tashqi RAM. Yoki uning Motorola 68000 yoki uning Zilog Z80 har qanday on-chip RAM yoki keshiga ega.

Sizga haqiqatan ham bilmoqchi bo'lgan narsalarni tavsiflaydigan nom bilan ikkinchi, mustaqil savol yaratishni taklif qilaman, lekin bu savolni kanonik savol sifatida qoldiring haqida ba'zi bir protsessorlarda nazariy maksimal tashqi DRAM degan ma'noni anglatuvchi "16 MB RAM" tomonidan yolg'onga tushgan juda ko'p odamga yordam beradi. "2.5 KB RAM" jismoniy on-jip SRAM boshqa protsessorlarga kiritilgan.

(*) 2006-yildan so'ng ishlab chiqarilgan bir nechta yuqori darajali protsessor 16 MB yoki undan ortiq on-chip kesh xotirasi bor, lekin bu protsessorlar yanada tashqi xotira talab qiladi - shuning uchun siz, albatta, 16 MB RAMga ehtiyoj sezsangiz, 16 MB tashqi xotiraga ega bo'lish kerak.

1
qo'shib qo'ydi