Próbapanelen összehuzalozott Z80 számítógép

Címkék

Dokumentáció megtalálható a GitHub-on.

Hozzászólások

Kis nosztalgia ... régen és ma:

1980-as évek:
7 MHz-es órajel, lassítva azzal, hogy több órajel/utasítás az architektúra hatékonysága.
128 kB RAM és 16 kB ROM
8 bites CPU ... 32 bites integeres ill. float-os szorzás főleg hardverszorzó hiányában lassú folyamat.
Lásd még 8 bites és 16 bites szorzást: http://sgate.emt.bme.hu/patai/publications/z80guide/part4.html
(Megjegyzem, C64 1 MHz alatti órajele ennél is lassabb számolást tett lehetővé.)

3 évtizeddel később:
32 bites, integeres és floating pointos hardverszorzó
200 MHz feletti órajel, gyorsítva azzal, hogy több utasítás/órajel az architektúra hatékonysága
512 kbyte RAM, 2 MByte Flash

És ez utóbbi "csak" egy egytokos mikrovezérlő: https://www.st.com/en/microcontrollers/stm32f7-series.html

Azt kihagytad, hogy a 30 évvel későbbi változat kb. 50-ed annyit fogyaszt és vagy 200× olcsóbban előállítható. De ekkora fejlődés el is várható ennyi idő alatt. Igazából még nagyobb fejlődés volt, az első, 1976-os Z80-as csak 2,5 MHz-en ment, és gondolom így 2018-ra, 42 évvel később vannak már 200 MHz-nél gyorsabb klónok is, bár az ilyenek nem mindig kompatibilisek 100%-ban. Amit linkeltél, az egy ARM proci.

Sokkal hatékonyabb egy tetszőleges ARM, x86, x64-es rendszeren SIMH, ZEMU, z80pack vagy hasonló Z80/8080 kompatibilis emulátorban szoftveresen futtatni ezeket. Akkor lesz 64 bites integer meg 80 bites double precision floating point, akár 2-5 GHz órajel, több mega CPU cache, meg sok giga RAM/SSD. Bár az ilyen Z80-as projekteknek nem kell sok kraft, a modern klónokon is több százszor gyorsabban futnak, egy modern x64-es procin már milliószor. Ha annyira a kódon kell gyorsítani, érdemes újraimplementálni a Z80-as kódot natív, nem emulált kóddá, úgy meg akkor akár az is megoldható, hogy az egész egy modern CPU L1 cache-be beleférjen (L2-be emulátorostól együtt). Ha olyan kód, akár modern GPU-ra átültetve még tovább is gyorsítható. Az egész maximum cirkuszi mutatványnak jó, hogy hány milliószorosára gyorsítható a kód, gyakorlati haszna nincs. Legfeljebb a fejlődést lehet vele pontosabban lemérni. Főleg, ha a teljesítmény/W vagy teljesítmény/nm, MIPS vagy MFLOPS per ár, stb. mutatókat nézed.

Már nem csak a 1976-os Z80-at haladták túl ilyen brutálisan, de pl. az 1975-ös Cray1 szuperszámítógép szintjét is több ezerszeresen egyszerű desktop/szerver gépeken, itt most szándékosan nem is mai szuperszámítógépet írok, tisztességtelen lenne az összehasonlítás. De a Cray1 szintjét már 25 évvel ezelőtti asztali/workstation procik is verték, a maiak meg az utóbbiakhoz is négyzetesnél erősebben viszonyulnak.

No keyboard detected... Press F1 to run the SETUP

Szerintem ebben nem kompatibilisek, de ennek csak annyi gondot kéne, hogy okozzon, hogy ha az adott alkalmazás ilyen órajelciklus alapján alkalmaz időzítő rutint, akkor nem a megfelelő sebességgel fog futni. De a megfelelő sebességgel futás már akkor kiment az ablakon, amikor mai procin próbáljuk az egészet futtatni.

No keyboard detected... Press F1 to run the SETUP

Azért az emulátoroknál alapvető, hogy az adott utasítást ugyan annyi „virtuális” órajel ciklus alatt végezzen el, mint amennyin az emulált vason futott.
Pl. az INC $D020-nak is illik 6 órajel ciklus alatt lefutni (ha jól emlékszem :), mert 11 ilyen adta ki egy rasztersor 66 órajel ciklusát.
És enélkül nem szép a konstans border szivárvány. :)))

(Anno a Digger nevű XT-re készített játék a Videoton VT16-osán olyan elképesztő tempóban futott, hogy az elindulás utáni első másodpercben bármelyik játékos elhalálozott - pont azért, mert a VT16 némileg gyorsabb volt az eredeti XT-nél. Régi szép idők, amikor a munkaidőben játék volt a géptesztelés fontos lépése.)

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Elég közel lehettél a hUSOSfazékhoz! :-)
(Ezt le kellett ütni!)
Aminek a forrása eredetileg a repülőtérről érkezett. Meg Furulya vót a'! Azt nehezebben tudták lefordítani az amcsik. :)
Láttam még a VIDEOTON Távlati Kutató Központot is - vagy valami hasonlót. Újpesten, Angyalföld határán volt kirakva a tábla egy régi, földszintes házsorból álló kis utca egyik bejárata mellé. Senki sem tudta megmondani mi is az.

azt a kábel menedzsmentet! gyönyörű!

--
GPLv3-as hozzászólás.

Bár a csávó kimagyarázta, de a wirewrap az alkatrészoldalon elég gáz. Ezzel a "menedzsmenttel" pont az előnye (legrövidebb összekötés == legkisebb induktivitás, látszólag össze-vissza összekötés == legkisebb kapacitás) és a használhatósága (könnyű javíthatóság) veszik el. Ráadásul néhol még a kondenzátor is lemaradt a táp mellől.

Próbapanel? Több mint 20 éve egyoldalas saját tervezésű, és készítésű (Alphasettel fóliára "rajzolva", nyákra fotózva, maratva) nyákba építettem hasonló Z80-as gépet. Asm-ben saját program írása volt csak igazán a móka! A kész programot epromba égetve, tesztelve, hiba esetén UV fénnyel törölve, majd javítás után újraégetve. Hiába, régen még mindenre több ideje volt az embernek...

> A kész programot epromba égetve, tesztelve, hiba esetén UV fénnyel törölve, majd javítás után újraégetve.

Egy darabig én is ezzel szenvedtem, de meguntam, írtam egy kis programot, ami nem csinált sokat, leginkább soros vonalon kommunikált a PC-vel. Amikor valamit ki akartam próbálni, lefordítottam, soros vonalon RAM-ba töltöttem, így a fejlesztés sokkal kényelmesebbé vált. Bármit változtattam, gyorsan tudtam tesztelni. Amikor végeztem az egésszel, és a kütyü azt csinálta, amit akartam, akkor ment csak a végleges változat az EPROM-ba. Így kicsit többet kellett a hardverrel foglalkozni az elején, de nem sokkal, és bőven megérte.