Hirdetés

Aktív témák

  • Chain|Q

    tag

    válasz perla #153 üzenetére

    Miert jo az, ha tervezel egy zsenialis procit, es a celkozonseg olyan progit futtat rajta, amire nincs optimalizalva, vagyis lassabban fut a progi rajta, mint az ellenfel szoftverhez tervezett procijan?

    Ez nem jo, megis ez tortent, ugyanis a P4-bol koztudottan rengeteg olyan dolog volt kihagyva, ami szukseges a megfelelo sebesseg eleresehez bizonyos ''regi progik'' eseteben. Pl. a hardveres bitforgato egyseg (ROL/ROR), vagy emlithetnem a katasztrofalis FPU teljesitmenyt is. A P4 volt az egyik leginkabb olyan proci a kozelmultban, ami optimalizalasi, ergo ezekszerint (a ti ertelmezesetek szerint) visszafele kompatibilitasi szempontbol katasztrofalis volt, es igazan csak a direkt ra keszult programok futnak rajta jol. Megis ez terjedt el a legjobban, marketingszempontok miatt. Szoval most akkor hogyis van ez?

    Egyebkent en programozaselmeleti dolgokrol beszelek a processzorok kapcsan, amin sporolni lehetne. Tipikus peldak a stack-kezeles az x86 procikban. Anno kezi asmhez nagyszeru volt, hogy minden stack ki-be mozgataskor modosult a veremmutato is, ma mar ez a forditoprogramok koraban felesleges, es csak plusz eroforrasokat igenyel. Ugyanez pepitaban az FPU is. Akkor ott a totalis zsakutcanak minosulo MMX, vagy a 4 privilegiumszint amibol gyakorlatilag mindenki csak 2-t hasznal. Vagy eppen a kvazi minden utasitasnal modosulo jelzobitek, amiktol nagyon nehez hatekony pipelineos optimalizalast csinalni, ha sok ugrabugra van a kodban. Ezek elhagyasatol nem lenne lassabb egy processzor, sot, gyorsabb es hatekonyabb. (lasd meg: PowerPC Microprocessor Family: The programming Environments for 32-Bit Microprocessors, Motorola, 1997, MPCFPE32B/AD) A visszafele kompatibilitas biztositasara pedig vannak egyeb (szoftveres) modszerek, mint azt mar emlitettem volt.

Aktív témák