• bvalek2
    #32
    Jól van, te sem figyelsz :)

    nincs emulálva semmi! nincs operációs rendszer! a csupasz vason fut a program! floppyról bootol a programom. átkapcsol védett módba (a Windows XP is ebben a módban fut). Normál, 32 bites, általános integer és memóriacímző utasításokat használok, amik már 386-os óta megvannak. ezeket használják a programok az esetek 80%-ában (a P4-en is). Az igazi hardverórát olvasom, azt, amit IO regiszterműveletekkel lehet elérni.

    ugyanaz a módosítatlan kód picit lassabb P4-en, mint P2-őn. azt tudom, hogy mindkettő beljesében egy RISC dolgozik, de ennyire nehéz lenne P4-en értelmezni ugyanazt a kódot? én is nagyot néztem, sok tesztet csináltam után, hogy biztos lehessek benne.

    Direkt kikapcsolom a megszakításokat a futásidőre, nehogy az APIC okozzon bajokat. Még a lapozást is kikapcsoltam, nehogy az MMU miatt legyen eltérés. Sőt, legmagasabb processzorprivilégiummal fut a program, tehát még jogosultságokat sem ellenőriz (hogy pl. van-e jogom IO művelethez, vagy sem). Annyira tudok még gondolni, hogy talán valami extra cache utasítással be kellett volna olvastatnom talán a memóriaterületet a cache-be? Ezt lehet hogy egy oprendszer elvégzi automatikusan... de ez csak tipp, megpróbáltam már utánanézni, hogy van-e ilyen, de nem találtam rá utalást az inteles dokumentációban.