AMD64 - kdo doda HW?
Jan Kasprzak
kas na informatics.muni.cz
Úterý Listopad 25 16:29:24 CET 2003
Pavel Janoušek wrote:
: > -----Original Message-----
: > Nezapomente, ze v dobe 16-bitovych systemu byla vetsina
: > veci psana
: > v assembleru. Dnes kdy jednak mam programy ktere uz davno na
:
: Chcete rici, ze v 80.-tych letech byl aplikacnim vyjadrovacim prostredkem zejmena ASM (je jedno, na jake platforme)? S timto nazorem se bohuzel neztotoznuji...
:
Mluvime jeste porad o operacnich systemech? Pokud ano,
tak na svem tvrzeni trvam.
: > musim pouzivat typy explicitni delky jako uint32_t). Podle meho nazoru
: > ve svete PC bude prechod 32->64 bitu _vyrazne_ jednodussi
:
: Ale ja jsem netvrdil opak. Jako praci pro kompilator bych si to vsak oznacit netroufl ani v nejmensim...
:
Ale ano, je to jen prace pro kompilator - ta rucni prace jiz byla
povetsinou davnou udelana.
: > : No ona Alpha byla taky jen 32-bit po urcitou dobu...
: >
: > Coze? Neplacejte nesmysly. Alpha je od zacatku 64-bitovy
: > procesor (tim myslim
: > ze ma registry velke 64 bitu, umi delat 64-bitove aritmeticke operace,
: > ma 64-bitovy virtualni adresni prostor, atd).
:
: Byl jsem spatne pochopen, Alpha se na venek tvarila jako 64-bit ve vsem, interne tomu vsak vsude nebylo...
:
Tak to si asi nerozumite (Vy sam se sebou) v definici toho co je
n-bitovy procesor (viz Vase drivejsi poznamka o 8088 a 80386sx).
: > Long je v ANSI C definovan jako nejvetsi numericky typ,
: > se kterym umi
: > CPU efektivne pracovat.
:
: ??? Jak jsem dosel na toto? Zejmena to efektivni zpracovani via CPU? ANSI C prekladac byl i pro I80286 ci I8086/I8088 a presto efektivne s 32-bit cislem pracovat CPU neumel (ANSI C89 long definuje) a to tak ze vubec, potreboval na to specialni HW, ktery s CPU mel pramalo spolecneho (narazim na matematicky koprocesor)
:
A long na tech pocitacich byl 32-bitovy? Ja si myslim ze norma o delce
typu long nic nepravi, jen ze 1 == sizeof(char) <= sizeof(short) <= sizeof(int)
<= sizeof(long).
: > programovaci konstrukce... Zajimal by me CISTY zpusob (a bez
: > if - to je prace progamatora, vy tvrdite, ze je to prace pro
: > kompilator) - ja ho nejsem schopen vymyslet, proto se po nem
: > pidim, kdyz rikate jak je to snadne a jak to kompilator
: > zaridi za nas...
: > :
: > sizeof(size_t)
:
: Toje ovsem prace pro cloveka, nikoli kompilator...
:
Asi nerozumim kam smerujete, nebo co se snazite dokazat/poprit.
sizeof(x) vyhodnocuje kompilator a programator vubec nepotrebuje presne vedet,
jaky bude vysledek.
: > GCC-specifickych konstrukci (jak udelate v Intel C pametovou barieru?
:
: Priznam se, ze nevim co to je pametova bariera, na kterou narazite....
:
Tyka se to preskladavani instrukci v procesoru (prectete si
posledni dva clanky Mikulase Patocky na www.root.cz).
: > Jak reknete ze tato funkce ma jit do jine sekce nez ".text"?).
:
: Ale to je snad vec pro linker a ne pro prekladac zdrojoveho kodu v C...
Je to vec (taky) pro prekladac, pokud toto ma byt receno uvnitr
zdrojoveho textu v C.
: To je soucasti ANSI C normy?
:
Nikoliv. Ja jsem mel pocit ze se bavime o tom proc kernel Linuxu nejde
prelozit Intelovskym CC. S ANSI C to nesouvisi. Nekdy proste potrebujete udelat
nejake veci, ktere ANSI C nespecifikuje. A pak nezbude nez se vazat na
(pokud mozno dokumentovane) chovani konkretniho kompilatoru.
-Y.
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Czech Linux Homepage: http://www.linux.cz/ |
| I actually have a lot of admiration and respect for the PATA knowledge |
| embedded in drivers/ide. But I would never call it pretty:) -Jeff Garzik |
Další informace o konferenci Linux