Dziwne wlasnosci procesorow



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Dziwne wlasnosci procesorow
Date: Thu, 31 Jul 2003 14:13:59 +0200


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



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news2.icm.edu.pl!news.pw.edu.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: BLE_Maciek <i80c586_at_nospam_cyberspace_NO_SPAM_.org>
Subject: Re: Dziwne wlasnosci procesorow
Date: Thu, 31 Jul 2003 15:55:12 +0200


Thu, 31 Jul 2003 14:13:59 +0200 jednostka biologiczna o nazwie "Piotr
Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl> wyslala do portu 119
jednego z serwerow news nastepujace dane:

w praktyce. Mam na mysli niecodzienne architektury sprzetowe,
A widziales 196-tke Intela ?

========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.gazeta.pl!fu-berlin.de!uni-berlin.de!glubsche.ukbf.fu-berlin.DE!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Waldemar Krzok <waldemar.krzok_at_nospam_ukbf.fu-berlin.de>
Subject: Re: Dziwne wlasnosci procesorow
Date: Thu, 31 Jul 2003 16:04:52 +0200



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. :-)

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


========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news2.icm.edu.pl!news.pw.edu.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: BLE_Maciek <i80c586_at_nospam_cyberspace_NO_SPAM_.org>
Subject: Re: Dziwne wlasnosci procesorow
Date: Thu, 31 Jul 2003 19:39:59 +0200


Thu, 31 Jul 2003 16:04:52 +0200 jednostka biologiczna o nazwie
Waldemar Krzok <waldemar.krzok_at_nospam_ukbf.fu-berlin.de> wyslala do portu 119
jednego z serwerow news nastepujace dane:

Możesz np. pomnożyć Stack Pointer
przez Program Counter i wpisać zawartość do Statusu (ciekawe, co z tego
wyjdzie ;-)).
ROTFL :-)))))))))))))

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
Pochwal sie skad ten scalak wytrzasnales :-))

========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news2.icm.edu.pl!fu-berlin.de!uni-berlin.de!glubsche.ukbf.fu-berlin.DE!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Waldemar Krzok <waldemar.krzok_at_nospam_ukbf.fu-berlin.de>
Subject: Re: Dziwne wlasnosci procesorow
Date: Fri, 01 Aug 2003 10:42:16 +0200




BLE_Maciek schrieb:

Możesz np. pomnożyć Stack Pointer
przez Program Counter i wpisać zawartość do Statusu (ciekawe, co z tego
wyjdzie ;-)).

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


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

Pochwal sie skad ten scalak wytrzasnales :-))

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 www.ivp.se

Waldek



========
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.gazeta.pl!news.e-wro.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_at_nospam_poczta.onet.pl.nospam>
Subject: Re: Dziwne wlasnosci procesorow
Date: Thu, 31 Jul 2003 22:17:27 +0200


On Thu, 31 Jul 2003 16:04:52 +0200, Waldemar Krzok wrote:
nie wiem, czy to zaliczyć do "patologicznych" przykładów, ale fajnym
procesorem było CPU PDP11. Architektura ortogonalna do nieprzytomności,

Fajny on jest, ale obawiam sie ze jak dla Piotra to to jest
"normalny" procesor. Nietypowe jest w nim co najwyzej
podwojnie posrednie adresowanie - tzn z operandow [rejestry, ofset]
wyliczamy adres, odczytujemy zawartosc pamieci pod tym adresem,
odczytana wartosc traktujemy jako adres - i stad
odczytujemy/zapisujemy dane. I to wszystko jedna instrukcja robi.

Moze cie zagna jakies RISC typu np 80860 ? skok sie wykonuje
kilka instrukcji po pobraniu z pamieci, dane obliczone
tez sie pojawiaja dopiero po kilku rozkazach.

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".

Ha - Clipper [Clapper ?] ?
Myslal nad tym University of Bristol, chyba nawet wypuscili w krzemie
Napisanie programu ktory np rysuje linie na takiej organizacji jest
ciekawe.

W porównaniu z tym, to ś.p. transputery to normalka.

Ale jadro wielozadaniowe w procesorze moze mu sprawic klopoty :-)

J.


========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Dziwne wlasnosci procesorow
Date: Thu, 31 Jul 2003 23:43:58 +0200



J.F. wrote:

Fajny on jest, ale obawiam sie ze jak dla Piotra to to jest
"normalny" procesor.

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 <= [0..19,23,22,21,20,24..34] of SP.unsigned * PC.unsigned;

przy okazji mieszajac kolejnosc bitow wyniku i po problemie.
Odwzorowanie rejestrow na pamiec juz co prawda mialem, bo
pojawilo sie przy '51. Co ciekawe, nikt z was nie wspomnial
o segmentacji pamieci na IA-32, ktora tez jest "nieco" surrealistyczna. :-)

Nietypowe jest w nim co najwyzej podwojnie posrednie adresowanie

Kolejny kwiatek, dziekuje. Co prawda nie stanowi problemu -- jezyk
w pewnym sensie przypomina Prologa, wiec potrzeba tylko dwukrotnie
dopasowac sie do wzorca pobierajacego dane z pamieci.

Moze cie zagna jakies RISC typu np 80860 ? skok sie wykonuje
kilka instrukcji po pobraniu z pamieci, dane obliczone
tez sie pojawiaja dopiero po kilku rozkazach.

Tak, tzw. skoki opoznione to jest duzy problem (ale rozwiazywalny),
tylko nie wiedzialem, ze tych instrukci jest kilka -- dotychczas zetknalem
sie z tym w Sparcu i tam jest mowa o jednej instrukcji. Natomiast
tego fragmentu o danych nie rozumiem w pelni, moglbys rozwinac?

Ale jadro wielozadaniowe w procesorze moze mu sprawic klopoty :-)

Nie. :-) To jest (a w zasadzie bedzie, testy przeprowadzam tylko na
front-endzie przyszlego kompilatora, wygenerowanego przez Bisona)
system deskryptywny, deklaruje sie tylko co ma byc zrobione w jakiej
sytuacji itd., a nie rekonstruktywny, jak VHDL, gdzie procka odtwarza
sie z blokow funkcjonalnych i na koncu to "samo" zaczyna dzialac jak
procek. Glownym celem jest wykrywanie podobienstw miedzy roznymi
CPU i (mam nadzieje) automatyczne generowanie dynamicznych
translatorow binarnych, asemblerow i disasemblerow. Dlatego wlasnie
prosze, abyscie go "zagieli" -- im wczesniej wyjda niedostatki, tym lepiej.
BTW, nie z rownolegloscia mam problemy, a wprost przeciwnie. :-)
Dla wielu instrukcji trzeba wstawiac punkty "usekwencyjniajace", bo
wszystko jest traktowane jako rownolegle tak dlugo, jak sie da, tzn.
dopoki zaleznosci miedzy wynikami posrednimi nie wymusza okreslonego
porzadku.

Pozdrawiam
Piotr Wyderski



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotr Wyderski" <piotr.wyderskiREMOVE_at_nospam_hoga.pl>
Subject: Re: Dziwne wlasnosci procesorow
Date: Thu, 31 Jul 2003 23:15:25 +0200



Waldemar Krzok wrote:

Możesz np. pomnożyć Stack Pointer przez Program Counter
i wpisać zawartość do Statusu

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

Są też procesory (chwilowo zapomniałem typy) pracujące wyłącznie na
stacku (sog. stack machine).

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.

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.

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.

Albo jeszcze coś innego. Chyba Hitachi wypuściła procesory, które można
było łączyć "szeregowo".

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



========
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai