Jako jedna z niewielu osób mam okazję pokazać wam jedyną fabrykę modułów DRAM, która znajduje się w Polsce. Jest to fabryka marki Goodram. W filmie przejdzie...
Zdziwiło mnie, że z takim podekscytowaniem mówił o pisaniu testów w asm.
Testowanie pamięci to w sumie ciekawe zagadnienie. Bo zastanawia mnie na ile by pomógł niskopoziomowy dostęp do kontrolera pamięci. Bo on robi jakieś wstępne testy i coś co nazywają “wygrzewaniem”. Dużo więcej o tym mówili w temacie PCIe w tym materiale z AMD.
Gadanie, że coś zostało napisane w asm (albo ma chociaż ręcznie zrobione wstawki) do dzisiaj potrafi dać +5 do szacunku. Kiedyś spotkałem się z sytuacją, gdy taki niskopoziomiowy program musiał sam siebie przenosić w różne fragmenty pamięci RAM i potem tam kontynuować swoje wykonywanie. Autor wtedy napisał to w asm, bo tak było mu najlepiej osiągnąć pewność działania. Może tutaj chodzi o coś podobnego?
Przypomniało mi się, że kiedyś opublikowałem kod do wyświetlania na TV obrazu przez Arduino. To był sketch w standardowym IDE ze wstawkami. Ktoś mi wtedy zarzucił, że skoro robię wstawki, to powinienem całość napisać w asm.
Też zauważyłem, że asembler ma do dzisiaj kultowy status wśród graczy.
To w sumie zabawne, bo na współczesnych desktopach użycie asma do optymalizacji na szerszą skalę nie ma żadnego sensu.
Btw. wczoraj przeglądałem kod Impulse Trackera.
Nie miałem pojęcia, że ten software był w całości napisany w asemblerze (spodziewałem się go, ale w DSP i sterownikach).
Dawno temu był jakiś Rosjanin, robiący wrażenie pisaniem symulacji zjawisk fizycznych i wizualizacji matematyki w asm i winapi. Główną zaletą było chyba to, że mogły działać wydajnie na wolnych komputerach.
Wg Wiki, Impulse Tracker został wydany w 1995 roku. Pewnie większość miała jakieś 486 i około 4 MB RAM. Ten program obsługiwał przynajmniej 16 kanałów. Nie wiem czy ówczesne rozwiązania wyższej abstrakcji potrafiłyby sprostać takim wymaganiom.
The original code was compatible all the way back to an 8086 machine. 8086 would allow you to do conditional jumps only within +/-128 bytes, so I spent too much time shuffling code around to meet this restriction. When I shifted away from this 8086 restriction, I never went back to update the code that was mutilated by it.
Może plan był taki, żeby wspierać bardzo stare platformy.
Może miał taki komputer. Może nie miał dokumentacji nowszych procesorów. Wcześniejsza odpowiedź sugeruje, że nie miał nawet zbyt dużego doświadczenia kiedy to kodował. Mimo wszystko. Udało mu się zakodować taki fajny program w asm. Początkujący mają czasem taka determinację. Do czasu aż społeczność ich nie zacznie temperować.
Mnie to nie dziwi. W świecie takich instalacji przemysłowych często nie podnosi się wersji systemu operacyjnego. Powody różne. Czasami w takich miejscach spotykasz do dzisiaj systemy starsze niż Windows XP.
I cyk, product placement wleciał na serwis. ;-)
Testowanie pamięci to w sumie ciekawe zagadnienie. Bo zastanawia mnie na ile by pomógł niskopoziomowy dostęp do kontrolera pamięci. Bo on robi jakieś wstępne testy i coś co nazywają “wygrzewaniem”. Dużo więcej o tym mówili w temacie PCIe w tym materiale z AMD.
Przypomniało mi się, że kiedyś opublikowałem kod do wyświetlania na TV obrazu przez Arduino. To był sketch w standardowym IDE ze wstawkami. Ktoś mi wtedy zarzucił, że skoro robię wstawki, to powinienem całość napisać w asm.
Kiedyś widziałem ranking twórców asm. Na pierwszym miejscu był Linus. Bo w Linuksie jest dużo wstawek.
Też zauważyłem, że asembler ma do dzisiaj kultowy status wśród graczy.
To w sumie zabawne, bo na współczesnych desktopach użycie asma do optymalizacji na szerszą skalę nie ma żadnego sensu.
Btw. wczoraj przeglądałem kod Impulse Trackera.
Nie miałem pojęcia, że ten software był w całości napisany w asemblerze (spodziewałem się go, ale w DSP i sterownikach).
Dawno temu był jakiś Rosjanin, robiący wrażenie pisaniem symulacji zjawisk fizycznych i wizualizacji matematyki w asm i winapi. Główną zaletą było chyba to, że mogły działać wydajnie na wolnych komputerach.
Wg Wiki, Impulse Tracker został wydany w 1995 roku. Pewnie większość miała jakieś 486 i około 4 MB RAM. Ten program obsługiwał przynajmniej 16 kanałów. Nie wiem czy ówczesne rozwiązania wyższej abstrakcji potrafiłyby sprostać takim wymaganiom.
Cytujac fragment readme z GitHuba:
Może plan był taki, żeby wspierać bardzo stare platformy.
Może miał taki komputer. Może nie miał dokumentacji nowszych procesorów. Wcześniejsza odpowiedź sugeruje, że nie miał nawet zbyt dużego doświadczenia kiedy to kodował. Mimo wszystko. Udało mu się zakodować taki fajny program w asm. Początkujący mają czasem taka determinację. Do czasu aż społeczność ich nie zacznie temperować.
Mnie też nie dziwi. Zauważyłem tylko. Dziwiłoby mnie gdyby odpalali tam IE i wchodzili wypok.
To są maszyny przemysłowe i takie mają firmware.