Re: po co MMX?

Autor: Arkadiusz Dabrowski (dobrov_at_friko.onet.pl)
Data: Fri 18 Jul 1997 - 16:12:47 MET DST


On Thu, 17 Jul 1997 17:58:26 +0200, Andrzej Karpinski
<karpio_at_fenix.xyz.lublin.pl> wrote:

>> >I przepisac wszystkie systemy operacyjne od nowa? Moze masz jeszcze
>> >jakies inne ciekawe pomysly _krynico_madrosci_?
>
>> W czym widzisz problem ? Jak sie Microsyfowi cos sypnie to zaraz
>> wypuszcza patch'a, ktory podmienia kod. To samo tyczy sie MMX. Ponadto
>> nie postulowalem wyciecia starych rejestrow tylko dolozenie nowych.
>> BTW. w kolejnych generacjach 0x86 pojawiaja sie nowe instrukcje
>> systemowe i nikomu to nie przeszkadza.
>
>Na tym koncze dyskusje z Kolega. Dolozenie nowych rejestrow wymagaloby
>nowych systemow operacyjnych, ale jak widac powyzej nie rozumiesz nawet
>dlaczego. Dlatego tez, nie jestes w stanie pojac sensu idei MMX. Zapoznaj
>sie ze sposobem zachowania sie procesora w chwili zmiany aktywnego
>zadania. Co procesor robi w takiej sytuacji z rejestrami i czym
>skonczyloby sie, gdyby mial ich wiecej. Albo by ich nie zapamietywal i
>programy by szly w maliny, albo zrzucalby je na stos, ktory wygladalby
>inaczej niz dla ukladow bez takiego rozszerzenia. Czyli potrzebowalbys tak
>naprawde nowych systemow operacyjnych, a na opracowanie s.o. potrzeba
>dobrych kilku lat. Nie mowiac juz o softwarze do takiego systemu. Oznacza
>to cale wieki jesli chodzi o technologie informatyczna... Wiec po prostu
>nie ma mozliwosci dolozenia dodatkowych rejestrow. Mozna natomiast z
>powodzeniem wykorzystac istniejace i wcale pojemne rejestry koprocesora...
>Co tez uczyniono dokladajac zestaw instrukcji dosc zaawansowanych i
>nowoczesnych (laczacych technologie RISC, VILW, SIMD itd) operujacych na
>tych rejestrach...
>

A moze ze mna reflektujesz podyskutowac drogi Andrzeju ?
Przepraszam za poufalosc, ale juz niejednego kota razem darlismy.

Jak slusznie sie domyslasz zupelnie sie z toba nie zgadzam, a swoja racje
zaraz udowodnie.

Otoz wyobraz sobie, ze problem przelaczania zadan w procesorach 286 i
nowszych zostal wymyslony dobrze. Rejestry nie sa pchane na stos, tylko do
segmentu stanu zadania (TSS). System ma to serdecznie gdzies, bo
przechowaniem i odtworzeniem rejestrow zajmuje sie sam procesor. Ale to nie
koniec. Format segmentu TSS procesora 386 nie jest nadzbiorem formatu tegoz
segmentu dla procesora 286 !!! Jest inny !!! A rozroznia sie je po
atrybutach zawartych w deskryptorze segmentu. Atrybutow dla segmentow
systemowych i furtek jest od 0 do 0xF i niektore sa jeszcze wolne.
Z reszta jezeli nawet pod tym samym atrybutem kryje sie segment w innym
formacie, to nic to nie szkodzi, bo system i tak tam nie grzebie. Bo nie ma
po co. Co go obchodza cudze rejestry ?

Jedyne co nalezy zrobic, to zapewnic odpowiednio duzo pamieci na rozszerzony
segment TSS.

A wiec w jednym miejscu systemu windoze'95. Nalezy zmienic:

malloc(104) na malloc(104 + 256).
That's all folks !!!

Oczywiscie nie mam zludzen, ze koderom z necrosoftu zajeloby to przynajmniej
ze dwa miesiace, ale to znacznie mniej niz kilka lat, ktore sugerowales.

A jesli nawet zapomnimy o segmencie TSS i zrzucamy rejestry na stos, to
dodanie w jednej funkcji jadra systemowego 32*push i 32*pop mozna
zrealizowac rownierz w wymienionym przeze mnie powyzej czasie. W innych
miejscach systemu nie trzeba tego robic, bo przecie sam system z tych
rozszerzen nie korzysta (przynajmniej do wypuszczenia nowej wersji).

A i z tym opracowywaniem systemu przez kilka lat to przesadzasz. Nie bierz
przykladu z produktow necrosoftu. Windoza to pod wzgledem zlozonosci
programowej znacznie prostszy produkt od takiego Quake, do ktorego engine
pisal jeden gosc, a ze trzech mu pomagalo przy roznych pierdolach.

A zwaz, ze ikonek zmieniac juz nie trzeba. Zadnych algorytmow takze.

Dodatkowo twoja wypowiedz:

>nie jestes w stanie pojac sensu idei MMX.
Sugeruje, ze ty sugerujesz, ze wielki BILL zakazal maluczkiemu intelowi
wymyslania produktow, ktore moglyby zmusic do pracy jego biednych
programistow.
A gdzies to pisales, ze z tym MMX to o co innego chodzilo.

>Ciekawe tez, co ma znaczyc "patcha ktory podmienia kod" - jakas bzdura
>kompletna.

Juz wyjasniam, bo wiem co kolega po fachu mial na mysli.
Otoz chodzi o maly programik do robienia updaty.
I moze o tym nie wiesz, ale necrosoft to juz z powodzeniem praktykowal.
Wyszla taka duperela pod nazwa windoze'96, ktora sie odpalalo spod windozy,
celem uaktualnienia tejze. A sluzylo to eliminacji malej czastki (ok. 30)
bledow zawartych w systemie.

    +--\ /--\ +--\ +--\ /--\ | | Arkadiusz Dabrowski
    | | | | |--< |--/ | | | | dobrov_at_priv.onet.pl
    +--/ \--/ +--/ | \ \--/ \/ stare konto:
                                     dobrov_at_zeus.polsl.gliwice.pl



To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 16:14:16 MET DST