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