Díky. No popravdě práce je to hodně, navíc Renesas mají ve zvyku nedělat moc erraty :-) Mě architektury čipů hodně zajímají, vždycky to začne ve chvíli, kdy se zase musím podívat na assembler x86 (teď konkrétně pro mojefedora.cz) a potom si říkám "vždyť to není možný, přece nemůže být celé IT takto pitomé" :-)
Identicky a mozna horsi pocit mam kdyz disassembluju i8051 kod :). Vitezem neni vzdy to nejlepsi reseni. Skoda, ze ARM nema nejaky ultra-low cost procesor s chytrym navrhem, ktery by vyhladil 8051ku ze sveho low-cost trhu (USB periferie, ruzna drobna zarizeni, ...).
Renesas ale doslova nesnasim, zejmena z dob kdy koupili NEC (V850, 78k, ...) a k tomu meli ty svoje CISCy M16C/M8C/...
Cortexy-M jsou cenou i spotrebou na urovni 8051, navic to jsou vsak plnohodnotne 32bitove CPU, takze technicky to problem neni, asi jen setrvacnost? :)
Popravde - jeste horsi nez 51 je Motorola 68HC11, to je takova slepenina vseho moznyho, ortogonalni to neni ani trosku, pritom HC05 a HC08 nebyly na svou dobu spatne.
Pomineme-li legacy designy s i8051, tak nove produkty jsou povetsinou zalozene na ruznych MCU z TW/CN, kde ten navrh je zadarmo a neplati se zadna licence. Myslim, ze dnes by sel vymyslet opravdu velmi maly procesor, klidne i 8bit, ktery by mel chytry navrh a byl by na urovni toho "nase 8051ka zadarmo". Dalsi vec je, ze v tech fabrikach casto maji technologie z roku raz dva, takze Cortex-M je pro ne nerealizovatelny. IMHO.
Mam v planu (a uz na to mam i vetsinu soucastek pro "dratovou verzi") udelat total softcore MCU, kdy kod procesoru muze sam preprogramovat mikrokod (tzn. zmenit chovani instrukci). Nakonec to nejspis dopadne tak, ze to zadratuju do nejakeho FPGA ci CPLD, ale rad bych se vratil do davnych retro dob a postavil to z nejakych RAM/ROM/74xx.
PS: Hitparadu spatnych designu tady muzeme tvorit, ja treba hlasuju za PIC16 a PIC18 (ne za bugovost, ale za omezenost navrhu).
Tak to preji hodne uspechu, to muze byt zajimavy projekt (i kdyz bych asi misto te uplne puvodni bipolarni 74xx pouzil unipolarni technologii (C), ciste kvuli cene, zapojeni to nezmeni :)
Videl jsem dva podobne projekty. Prvni byl jednoduchy zasobnikovy procesorek sestaveny na nekolika nepajivych polich, pry to byl dost porod rozchodit (co taky cekat o hnizda zvonkovych dratu). Jestli si dobre pamatuju, byla tam pouzita ALU z rady 74xx, takze zase tak uplne low level to nebylo.
Druhy projekt je/byl komercni - nejaky terminal pro seriovou linku z doby, nez tam zacali cpat Inteli 8080. Dost velka krabice doslova nabita cipy s nizkou integraci, nejvetsi integraci tam asi mela EPROM se znakovou sadou.
Tak ja taky nepocitam, ze bych ALU stavel z nejakych logickych operatoru rady 74xx (dobre, 74xCxyy :) samozrejme schanet cistokrevne 74ky nebudu, mam namichane vetsinou 74HCxx), ale pouziju treba tu 74LS181 (4bit ALU). Cilem neni to udelat co nejvetsi, ale funkcni, bez toho abych tam prdnul jedno velke FPGA :-). Problemem uz jsou jenom registry, to ty obvody rostou jako houby po desti. Sice staci jen nejake flagy, PC, W registr, microcode-counter, ale propojit to spolu ....
Taky by to slo cele postavit z kotouce FETu - 5000 tranzistoru by melo stacit ;). K tomu nejaky m^2 plosneho spoje.
Na tom samomodifikujicim se procesoru jsou zajimave prave jeho moznosti. Takhle v malem, kdy mikrokod ma treba jen 64kB to prakticky pouzitelne neni, ale jsem toho nazoru, ze mit moznost pipeline, rozumne skalovat jednotlive funkcni bloky, s tim by sly delat psi kusy (nemyslim jenom si upravit instrukce dle aktualni potreby programu, ale ze by program primo pri svem behu sahal do konkretnich instrukci, treba u kryptografie by si mohl zadratovat nejake *aktualni* stavy do mikrokodu. Je skoda, ze bezne procesory nemaji moznost pridani par instrukci (na druhou stranu to chapu, ale bylo by to bajecne).
No oni to 68HC11 nacpali dalsi indexovy registr (protoze se ukazalo, ze slavna 6502 je v tom uspesna :) a uz se jim tam instrukce nevesly do bajtu, tak to nahodne nastrkali s nejakym prefixem. Navic ta instrukcni sada nebyla ortogonalni ani u puvodni 6800 (napriklad), uz tehdy to trosku lepili na kolene. Ne ze by konkurencni 8080 byla zazrak, ale kupodivu se mi na ni programovalo mnohem lip (i kdyz 6502 opet vyhrava, to je jasny).