OT bitove polia a efektivita; Was: pointery C
Milan B.
milan na bastl.sk
Čtvrtek Květen 23 08:24:45 CEST 2013
On 23. 5. 2013 7:16, Jan Waclawek wrote:
>
> Dolezitym argumentom proti musela byt aj pracnost prace s bitmi na PDP-11. Nepoznam tu architekturu, ale vzhladom na vytrvalost s akou do C prenikali featury prave z PDP-11, verim tomu, ze to tak bolo.
A ja tu architekturu z davnych cias poznam :). Nemyslim, ze by pracnost
prace s bitmi bola o moc zlozitejsia ako inde. PDP-11 bol pouzivany ako
riadiaci mikropocitac, takze praca s bitmi mala svoje miesto.
Implementovane boli instrukcie BIC, BIS a BIT. A to dokonca na ukor
beznych logickych operacii AND, OR (BIS je vlastne OR, ale BIC je AND s
negovanym operandom).
Je pravda, ze u C sa da velmi jednoducho predstavit, ako by sa
jednotlive konstrukcie dali na PDP-11 prelozit jednou instrukciou. Ale
to moze byt aj genialnym navrhom instrukcnej sady PDP-11. Ale uznavam,
ze niektore konstrukcie (pre a post inkrement) svoj povod nezakryju.
> Dalsi argument proti je, ze bit ako usporne implementovana ale samostatna premenna/typ zasadne naburava predstavu, ze vsetky objekty su adresovatelne (mimochodom to naburava u niektorych starsich strojov aj char, ale to bolo tak potrebne aj v tej dobe, ze tam sa prizmurilo oko - vsimnite si, ze povodne char nebol mysleny ako typ pre aritmetiku). Mimochodom, poziadavka bytovej adresovatelnosti je v norme dodnes a de iure to brani efektivnej implementacii dodatocne zadefinovaneho standardneho typu _Bool, a bitove polia (co je tiez len dorobok) sa lisia od "plnohodnotnych" typov presne v tomto detaile (z praktickeho hladiska to znamena, ze na bitove polia neexistuju smerniky).
Toto bude hlavny dovod. Kedze C je vlastne smerniky a par beznych
jazykovych konstrukcii naokolo, akykolvek "neadresovatelny" datovy typ
musi byt na obtiaz :)
Tak ma napadlo - jednou cestou k implementacii adresovatelneho bitu by
mohol byt ARMovsky bit-banding, akurat by sme sa museli zmierit s tym,
ze vzdialenost medzi bitmi je 4. Ale bit ma svoju adresu, rovnaku ako
akakolvek ina...
Otazky prenositelnosti a pod nechajme bokom.
-m-
> wek
>
>
Další informace o konferenci Hw-list