Dziwne wlasnosci procesorow

Witam,

ten wakacyjny temat jest nieco OT, lecz z racji tego, ze elektronicy zajmuja sie programowaniem niskopoziomowym wlasciwie "wszystkiego co sie rusza", zadam pytanie tutaj. Chcialbym ocenic wyrazalnosc prototypu pewnego opracowanego przez siebie systemu formalnego i w tym celu potrzebuje "patologicznych" przykladow z rzeczywistosci. Dlatego chcialbym prosic, abyscie wypisali najdziwniejsze waszym zdaniem wlasnosci procesorow, jakie zdarzylo sie wam spotkac w praktyce. Mam na mysli niecodzienne architektury sprzetowe, przedziwne tryby adresowania, niespotykane nigdzie indziej instrukcje (oczywiscie w sensie wykonywanej czynnosci, a nie mnemonika :-)) itp. Byloby wspaniale, by w miare mozliwosci podano jaki konkretnie uklad cos takiego ma, bym mogl dotrzec do dokumentacji. Nie ma limitow funkcjonalno-wiekowych, kazdy mikroprocesor sie liczy. :-) W chwili obecnej absolutnym liderem jest procesor Novix NC4016 ze swoja architektura stosowa, dopasowana do jezyka Forth. Na pewno kazdy ma jakies doswiadczenia z tego typu dziwolagami, wiec z gory dziekuje za podzielenie sie nimi. :-)

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski
Loading thread data ...

nie wiem, czy to zaliczyæ do "patologicznych" przyk³adów, ale fajnym procesorem by³o CPU PDP11. Architektura ortogonalna do nieprzytomno¶ci, bank rejestrów dostêpny te¿ w pamiêci. Mo¿esz np. pomno¿yæ Stack Pointer przez Program Counter i wpisaæ zawarto¶æ do Statusu (ciekawe, co z tego wyjdzie ;-)). Dziêki temu nie ma ten procesor instrukcji LDI (³aduj sta³±), tylko Load Register Relative with Autoincrement. Wykonuj±c t± instrukcjê na rejestrze R7 (Program Counter) otrzymujesz to, co chcesz, czyli LDI. S± te¿ procesory (chwilowo zapomnia³em typy) pracuj±ce wy³±cznie na stacku (sog. stack machine). Pracuj± podobnie jak kalkulatory HP w Odwróconej Notacji Polskiej. Upraszcza to bardzo budowê kompilatorów. Jest taka fajna (choæ do¶æ stara) ksi±¿ka mojego profa pana Giloi pt. Rechnerarchitektur (po niemiecku, czy istnieje wersja angielska lub polska, nie wiem). Tam jest kilka dziwnych archtektur, choæby maszyna asocjacyjna, praktycznie pamiêæ asocjacyjna i nic wiêcej ;-).

Albo to, czym siê te¿ bawiê: sensor optyczny (CMOS) z 1536*512 pixeli, do tego pod³±czone 1536 przetworników AD, komparator, 1536 procesorów jednobitowych (SIMD), jeden procesor pracuj±cy na ca³ym s³owie (1536 bitowym), 96 rejestrów 1536 bitowych i 16 rejestrów przesuwaj±cych. Wszystko jest, tylko brakuje maszyny stanów. Za ni± "robi" procesor StrongArm, ju¿ "normalny".

Albo jeszcze co¶ innego. Chyba Hitachi wypu¶ci³a procesory, które mo¿na by³o ³±czyæ "szeregowo". Mia³y 16 wej¶æ i 16 wyj¶æ. Oprócz tego chyba tylko zasilanie, zegar i reset. By³y (mo¿e i s±) stosowane w obróbce obrazów radarowych. Ka¿dy procesor "s³ucha³" czy dane/program s± dla niego czy nie. Jak tak, to mieli³ dane, jak nie, to dawa³ na wyj¶cie. W porównaniu z tym, to ¶.p. transputery to normalka.

Waldek

Reply to
Waldemar Krzok

Thu, 31 Jul 2003 16:04:52 +0200 jednostka biologiczna o nazwie Waldemar Krzok wyslala do portu 119 jednego z serwerow news nastepujace dane:

ROTFL :-)))))))))))))

Pochwal sie skad ten scalak wytrzasnales :-))

Reply to
BLE_Maciek

Hm, z tego typu operacjami problemow nie ma od strony formalnej, co najwyzej optymalizator grafu przeplywu sterowania bedzie mial zagwozdke. :-)

Wspomniany Novix, wirtualna maszyna Javy, koprocesor i387, w pewnym sensie (bo stack pointer jest uogolniony na okno rejestrow) NIOS oraz Sparc. Z tym sobie jednak daje rade.

No, "i to jest nowa koncepcja sztuki". ;-) Z SIMDem sobie jednak dosc dobrze radze, bo mam iterator przebiegajacy liste, a takze dopuszczam rownoleglosc. MMX i SSE system pokrywa.

A, zapomnialem wykluczyc "z konkursu" multikomputery. :-) Chodzi tylko o zwykle procesory, ewentualnie zawierajace jakies rownolegle obwody typu timer itp. Dzieki za przyklady!

Pozdrawiam Piotr Wyderski

Reply to
Piotr Wyderski

Masz zupelna racje, choc instrukcje wspomniane przez Waldemara kwalifikuja sie doskonale do dziwadelek, ktore mialem na mysli. Normalny w tym sensie, ze moge napisac wprost np.:

vector[64] reg_bank; // rejestr wspolny dla PC i SP, jak np. AL i AH w EAX vector[35] FLAGS; // 35 bitow -- a co... ;-) pattern SP is return [0..31] of reg_bank; end pattern PC is return [32..64] of reg_bank; end

FLAGS

Reply to
Piotr Wyderski

BLE_Maciek schrieb:

nie bawiê siê ju¿ z pozycji scalaka. Tutaj stan±³em na poprzedniej wersji ³ebka (256*256 pixeli), w której naprawdê grzeba³em w bitach. Najfajniej by³o, ¿e za state machine robi³ pecet i trzeba by³o cholernie uwa¿aæ na jakiekolwiek przerwania, bo czasy bra³y diabli (sensor nie ma shuttera). Nowe chipy s± sprzedawane jako gotowe kamery i stosowane do szybkich pomiarów trójwymiarowych metod± triangulacji (do ok 10000 pomiarów na sekundê). A sk±d to mam? Ano dorabiam w firmie, która toto sprzedaje w charakterze doradcy technicznego i obs³ugi klienta. Kamery do wgl±du na

formatting link

Waldek

Reply to
Waldemar Krzok

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.